之前就有听说过java多线程服务器的实现是通过Socket来实现,大致还是创建多个socket来实现的把。今天写了一份demo来模拟多线程服务器,可能实际开发并不是这样写的,但大题思路还是一样。
服务器端
package Socket;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
//创建socket,绑定到65000端口
ServerSocket serverSocket=new ServerSocket(65000);
//循环用以监听
while (true){//这是多线程的,通过循环创建多个socket来实现
//监听65000端口,直到有客户端信息发过来
Socket socket=serverSocket.accept();
//执行相关操作
new CaluteLength(socket).start();
}
}
}
服务器端调用方法
package Socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class CaluteLength extends Thread{
//以Socket为成员变量
private Socket socket;
public CaluteLength(Socket socket){this.socket