package com.ch10_network;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
/**
* 给服务器加上多线程
* 提升服务器端程序处理并发的能力
* 主线程只负责监听和接受请求
* 业务代码则放在线程的run()方法中
*/
public class TCPServerB {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(8888);
Socket socket = null;
while((socket=serverSocket.accept())!=null) {
new MyThread(socket).start();
}
serverSocket.close();
}
}
class MyThread extends Thread{
private Socket socket;
public MyThread(Socket socket) {
super();
this.socket = socket;
}
public void run() {
try {
OutputStream os = socket.getOutputStream();//获得输出流
PrintWriter pw = new PrintWriter(os);//创建PrintWriter对象
pw.printf("now time = "+new Date());//往输出流写当前时间
pw.flush();//清空缓存
pw.close();//关闭输出流
socket.close();//关闭socket
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用Java多线程优化基于TCP协议的Server
最新推荐文章于 2025-06-10 22:15:11 发布