java - 通俗地说,ServerSocket 构造函数

标签 java sockets serversocket

这个语句会做什么:

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/

相关文章:

java - Android 中的 R.java 类

java - 需要HA Tomcat文件写入解决方案

actionscript-3 - ActionScript中的套接字连接关闭事件

c - in_addr_t inet_ntoa 等类型的地址是什么

Java - 套接字编程 - 如何使客户端从多个服务器接收消息?

java - 使用java和命令提示符写入文件

java - JfreeChart 中的自定义数据点标签

reactjs - ReactJS socket.io任何在套接字下定义或调用的函数都会给出类型错误而不是函数

java - 网络编程中Java函数与C函数的等价

c - lwIP 远程登录示例?