如何给ServerSocket绑定到指定IP地址,端口号

解决方案 »

  1.   

    ServerSocket 只能绑定端口,不可能去绑定什么 IP。只能在本机启用 Socket 监听端口,不可能程序在这里,跑到别人机器上去监听。
      

  2.   

    那如果是这样,在多网卡的服务器上怎么跑?Socket、ServerSocket都可以使用下面的方法绑定本地端口和IP。void bind(SocketAddress endpoint) 
              将 ServerSocket 绑定到特定地址(IP 地址和端口号)。 
    构造函数如下:
    public ServerSocket(int port,
                        int backlog,
                        InetAddress bindAddr)
                 throws IOException使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。bindAddr 参数可以在 ServerSocket 的多宿主主机 (multi-homed host) 上使用,ServerSocket 仅接受对其地址之一的连接请求。如果 bindAddr 为 null,则默认接受任何/所有本地地址上的连接。端口必须在 0 到 65535 之间(包括两者)。 
    如果存在安全管理器,则此方法使用 port 作为参数调用其 checkListen 方法,以确保允许该操作。这可能会导致 SecurityException 异常。 backlog 参数必须是大于 0 的正值。如果传递的值等于或小于 0,则使用默认值。 参数:
    port - 本地 TCP 端口
    backlog - 侦听 backlog
    bindAddr - 要将服务器绑定到的 InetAddress 
    抛出: 
    SecurityException - 如果安全管理器存在并且其 checkListen 方法不允许进行该操作。 
    IOException - 如果打开套接字时发生 I/O 错误。
    从以下版本开始: 
    JDK1.1 
    另请参见:
    SocketOptions, SocketImpl, SecurityManager.checkListen(int)
      

  3.   

    我想知道这样的人是如何获得java月版分析大师的?