这个语句会做什么:
ServerSocket ss=new ServerSocket(4646);
请用通俗的语言解释一下。
最佳答案
该语句有效地告诉 JVM 在指定端口 (4646) 上监听传入连接。它本身没有任何意义,因为您必须获取到该端口的传入连接并使用它们构建普通的 Socket 对象,然后将其用于传入/传出数据。
你可以说ServerSocket
是一个对象,通过它在客户端和服务器之间创建真正的TCP套接字。当您创建它时,JVM 会与操作系统 Hook ,告诉它将到达该端口的连接分派(dispatch)给您的程序。
你通常做的事情是这样的:
public AcceptThread extends Thread {
public void run() {
ServerSocket ss = new ServerSocket(4646);
while (true) {
Socket newConnection = ss.accept();
ClientThread thread = new ClientThread(newConnection);
thread.start();
}
}
}
这样您就可以接受传入的连接并为它们打开一个线程。
关于java - 通俗地说,ServerSocket 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477347/