这句话的作用是什么:
ServerSocket ss=new ServerSocket(4646);
请以外行的方式解释。
答案 0 :(得分:1)
创建绑定到指定端口的服务器套接字。
什么是服务器套接字?
此类实现服务器套接字。服务器套接字等待通过网络进入的请求。它根据该请求执行某些操作,然后可能将结果返回给请求者。
答案 1 :(得分:1)
public ServerSocket(int port) throws IOException
创建绑定到的服务器套接字 指定的端口。端口0创建一个 任何自由端口上的套接字。
答案 2 :(得分:1)
该语句有效地告诉JVM监听指定的端口(4646)以获取传入连接。它本身并不意味着什么,因为你必须将传入的连接带到该端口并使用它们来构建普通的Socket
对象,然后将其用于输入/输出数据。
您可以说ServerSocket
是创建客户端和服务器之间的真实TCP套接字的对象。创建它时,JVM挂钩到操作系统,告诉它将到达该端口的连接分派给您的程序。
你通常做的是:
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();
}
}
}
这样您就可以接受传入的连接并为它们打开一个线程。
答案 3 :(得分:0)
这会将您的ServerSocket绑定到本地计算机上的端口4646。
然后,您可以使用
接受此连接上的套接字// pick up server side of the socket
Socket s = ss.accept();
现在,您的客户端可以连接到您的服务器,建立套接字连接,就像这样
// pick up client side of the socket, this is in a different program (probably)
Socket connectionToServer = new Socket("myserver",4646);