外行术语中的ServerSocket构造函数

时间:2011-03-29 18:42:19

标签: java sockets serversocket

这句话的作用是什么:

ServerSocket ss=new ServerSocket(4646);

请以外行的方式解释。

4 个答案:

答案 0 :(得分:1)

直接来自ServerSocket Java docs

  

创建绑定到指定端口的服务器套接字。

什么是服务器套接字?

  

此类实现服务器套接字。服务器套接字等待通过网络进入的请求。它根据该请求执行某些操作,然后可能将结果返回给请求者。

答案 1 :(得分:1)

public ServerSocket(int port) throws IOException

documentation:

  

创建绑定到的服务器套接字   指定的端口。端口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);