我是Java和一般网络的新手。我正在读取套接字,并看到ServerSocket类有一个未绑定套接字的构造函数。
我认为套接字连接的工作方式是连接到特定端口。那么如何使用未绑定的ServerSocket?
感谢。
答案 0 :(得分:4)
未绑定的ServerSocket
在绑定之前不能用于接受连接。
尚未绑定ServerSocket
的无参数构造函数存在,以便您可以在使用ServerSocket
方法绑定它之前调用bind
上的其他方法。特别是在绑定之前必须调用一种方法:setReuseAddress(boolean on)
。这是Javadoc提到:
使用绑定套接字之前启用SO_REUSEADDR {@link #bind(SocketAddress)}允许套接字绑定 以前的连接处于超时状态。
(你也可以说做执行绑定的构造函数只是方便的方法,因此你不必单独调用方法bind(SocketAddress)
。)
答案 1 :(得分:1)
你确实需要一个端口。您必须在ServerSocket实例上调用the bind method以将端口绑定到该实例。