我在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
并且#34;听端口"会不会更好?
答案 0 :(得分:1)
你 通过向构造函数提供端口号隐式地调用bind()
。
答案 1 :(得分:1)
bind
?ServerSocket(int port)
创建绑定到指定端口的服务器套接字。
所以不,你不需要调用bind
因为你的套接字已经被构造函数绑定了。
bind
/ accept
编辑:旧的答案有不同的标题,这就是我在这里留下这部分答案的原因。
使用bind
时,您说“此服务器将侦听端口 XXX ”。这也会阻止你的应用程序的这个端口,所以没有其他人会绑定在同一个端口上。
如果您希望接受新客户端,请等到某个客户端想要连接到服务器;当客户端连接时,accept
将返回。
请下次通过做更多研究来尝试自己寻找解决方案。 (我总是建议查看文档)
请参阅here寻求帮助。