Java 我应该在接受之前打电话给bind吗?
我正在用Java创建ServerSocket: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
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
将返回
下次请通过做更多的研究来尝试自己找到解决方案。(我总是建议看一下文档)
请参阅以获取帮助。您的标题与您的问题无关。我很困惑,抱歉,现在编辑。