如何在没有对象的情况下实例化new Handler(clientSocket);
?有人可以提供一些见解吗?
public class Server1 {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(15897);
while (true) {
Socket clientSocket = serverSocket.accept();
new Handler(clientSocket);
}
} catch (IOException e)
{
System.out.println("problem here 1");
}
}
}
class Handler implements Runnable {
int red;
int reads, r;
Socket clientSocket;
Handler(Socket s)
{
this.clientSocket = s;
new Thread(this).start();
}
public void run(){
BufferedReader bufferedReader;
try {
bufferedReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine = bufferedReader.readLine();
最佳答案
在您的代码中,服务器被用来继续监听传入的客户端。
Socket clientSocket = serverSocket.accept();
serverSocket.accept()
等待直到找到连接或客户端。
如果找到客户端则 accept()
函数返回一个本地套接字,该套接字连接到客户端的另一个套接字,该套接字被赋予 clientSocket
在你的代码中。
new Handler(clientSocket);
现在clientSocket
被赋予Handler
您正在使用 thread
的类用于读取 clientSocket
给出的数据。
thread
的目的这里是处理每个传入的clientSocket
分别。
关于java - 服务器套接字中的线程和处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20901796/