【问题标题】:What is socket bind and how to bind an address?什么是套接字绑定以及如何绑定地址?
【发布时间】:2011-05-22 21:26:07
【问题描述】:

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

ServerSocket.bind()

来自 Javadoc:

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

我知道什么是绑定和 EJB(来自示例)到一个名称。是不是很像?

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

我正在使用:

providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));

我得到了Already Bound 错误!

【问题讨论】:

    标签: java sockets networking


    【解决方案1】:

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

    为了让客户端向服务器发送数据,客户端必须拥有服务器的地址和端口号。同样,服务器要向客户端发送数据,服务器必须有客户端的地址和端口号。

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

    当你这样做时:

    providerSocket.bind(new InetSocketAddress("192.168.0.1", 0));
    

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

    【讨论】:

      【解决方案2】:

      你必须把ServerSocket()留空而不是ServerSocket(666,9)你不应该做第二个例子,否则它不会工作。在 ServerSocket 的括号内你什么也不输入。

      【讨论】:

        猜你喜欢
        • 2011-11-25
        • 1970-01-01
        • 2020-02-20
        • 2017-01-11
        • 2015-12-25
        • 1970-01-01
        • 2017-04-27
        • 1970-01-01
        相关资源
        最近更新 更多