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();
}
}