Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该在接受之前打电话给bind吗?_Java_Sockets - Fatal编程技术网

Java 我应该在接受之前打电话给bind吗?

Java 我应该在接受之前打电话给bind吗?,java,sockets,Java,Sockets,我正在用Java创建ServerSocket: ServerSocket server = null; try { server = new ServerSocket(5050); System.out.println("Listening on port 5050"); // Accept the client Socket s = server.accept(); System.out.println("Cliented was accept

我正在用Java创建ServerSocket:

ServerSocket server = null;

try {

    server = new ServerSocket(5050);

    System.out.println("Listening on port 5050");

    // Accept the client
    Socket s = server.accept();

    System.out.println("Cliented was accepted : " + s.getInetAddress() +
    "on port " + s.getLocalPort()  );

}

finally {

        if (server != null)
            server.close();
    }
大多数情况下,我刚刚看到人们使用
accept
方法,所以我不确定
bind
方法的用例

但是如果我在打印消息“侦听端口”之前调用
bind
会更好吗?

您正在通过向构造函数提供端口号隐式调用
bind()

我需要调用
bind
? 从

服务器套接字(int端口)

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

因此,不需要调用
bind
,因为您的套接字已经被构造函数绑定了

差异
绑定
/
接受
编辑:旧答案有不同的标题,这就是为什么我把这部分答案留在这里

使用
bind
时,您会说“此服务器将侦听端口XXX”。这也会阻止应用程序的此端口,因此没有其他人会绑定到同一端口

如果你想接受一个新的客户机,你要等到某个客户机想要连接到服务器;当客户端连接时,
accept
将返回


下次请通过做更多的研究来尝试自己找到解决方案。(我总是建议看一下文档)


请参阅以获取帮助。

您的标题与您的问题无关。我很困惑,抱歉,现在编辑。