1.服务器端
ServerSocket ss = new ServerSocket(8080);//port
Socket socket = ss.accept();
2.客户端
Socket socket = new Socket("localhost", 8888);
3.服务器端多线程线程池技术
//********************
ServerSocket ss = new ServerSocket(8080);
ExecutorService threadPool = Executors.newFixedThreadPool(100);//线程池,线程数
//********************
while (true) {
try {
Socket socket = ss.accept();
threadPool.execute(new Handler(socket));
} catch (Exception e) {
e.printStackTrace();
}
}
//********************
private class Handler implements Runnable {
Socket socket;
Handler(Socket socket){
this.socket=socket;
}
public void run(){
// ......
}
}
4.缓冲队列
BlockingDeque<String> msgQueue=
new LinkedBlockingDeque<String>(10000);// 缓冲队列size,可设置
//隔一段时间,向队列中插入对象,成功true,失败false
boolean offer(Object o, long timeout, TimeUnit unit);
//隔一段时间,从队列拉出一个对象,如果没有对象立即返回null
Object poll(long timeout, TimeUnit unit);