什么是套接字绑定以及如何绑定地址?

Muh*_*edy 14 java sockets networking

在Java中,我需要知道什么是绑定操作:

ServerSocket.bind()
Run Code Online (Sandbox Code Playgroud)

来自Javadoc:

将ServerSocket绑定到特定地址(IP地址和端口号).

我知道什么是bind和EJB(从示例)到名称.这是相似的吗?

如何将本地地址绑定到服务器套接字?

我在用:

providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));
Run Code Online (Sandbox Code Playgroud)

我收到了Already Bound错误!

Pac*_*ier 26

连接需要客户端和服务器.

对于客户端将数据发送到服务器,客户端必须具有服务器的地址和端口号.同样,对于服务器向客户端发送数据,服务器必须具有客户端的地址和端口号.

绑定套接字意味着为套接字分配地址和端口号.

当你这样做时:

providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));
Run Code Online (Sandbox Code Playgroud)

您收到Already Bound错误,因为providerSocket已经有一个地址和端口号,并且不允许分配新的地址/端口号.一旦创建了ServerSocket,它就被绑定(除非它使用无参数构造函数java.net.ServerSocket.ServerSocket()).