package com.jqmobile.core.utils.socket; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.Serializable; import java.net.Socket; import com.jqmobile.core.utils.socket.base.AsyncHandlerSocketService; public class SocketTest implements Serializable{ private final static int serverPort = 9799; private final static String serverUrl = "127.0.0.1"; private final static Object lock = new Object(); String name; public static void main(String[] args) { ISocketService<SocketTest> server = new AsyncHandlerSocketService<SocketTest>(serverPort) { @Override protected void handleException(SocketTest task, Throwable e) { } @Override protected void handleTask(SocketTest task) { StringBuilder s = new StringBuilder(); for(int i=0;i<100000; i++){ s.append(i); } // int taskCount = pool.getTaskCount(); // if(taskCount>10) System.out.println(task.name+"=======wait count:"+taskCount); } @Override public SocketTest handler(Socket socket) { InputStream is; try { is = socket.getInputStream(); ObjectInputStream ois = new ObjectInputStream(is); Object obj = ois.readObject(); return (SocketTest)obj; } catch (Exception e) { e.printStackTrace(); } return null; } }; server.setCloseListner(new ISocketCloseListner() { @Override public void handler(Throwable e) { System.out.println("=========socket server close:"); e.printStackTrace(); } }); // Thread t = new Thread(new Runnable() { // // @Override // public void run() { // SocketTest param; // ISocketClient<SocketTest> client = new BaseSocketClient<SocketTest>(serverUrl, serverPort); // for(int i=0; i<1000000; i++){ // param = new SocketTest(); // param.name="test====="+i; // try { // client.submit(param); // } catch (Exception e1) { // e1.printStackTrace(); // } //// try { //// lock.wait(100); //// } catch (InterruptedException e1) { //// e1.printStackTrace(); //// continue; //// } // } // } // }); // t.start(); } }