未绑定套接字的用途是什么?

时间:2014-03-16 06:36:55

标签: java sockets

我是Java和一般网络的新手。我正在读取套接字,并看到ServerSocket类有一个未绑定套接字的构造函数。

我认为套接字连接的工作方式是连接到特定端口。那么如何使用未绑定的ServerSocket?

感谢。

2 个答案:

答案 0 :(得分:4)

未绑定的ServerSocket在绑定之前不能用于接受连接。

尚未绑定ServerSocket的无参数构造函数存在,以便您可以在使用ServerSocket方法绑定它之前调用bind上的其他方法。特别是在绑定之前必须调用一种方法:setReuseAddress(boolean on)。这是Javadoc提到:

  

使用绑定套接字之前启用SO_REUSEADDR   {@link #bind(SocketAddress)}允许套接字绑定   以前的连接处于超时状态。

(你也可以说执行绑定的构造函数只是方便的方法,因此你不必单独调用方法bind(SocketAddress)。)

答案 1 :(得分:1)

你确实需要一个端口。您必须在ServerSocket实例上调用the bind method以将端口绑定到该实例。