我正在将java-websocket服务器编写为加密货币客户端。

出于安全原因,我想限制对本地计算机的访问。

有没有一种方法可以通过IP或主机名限制对java-websocket服务器的访问?

如果是这样,怎么办?

最佳答案

您应该将监听IP指定为127.0.0.1,这样就无法从外部进行连接。

编辑

在示例ChatServer.java中,绑定发生在

ChatServer s = new ChatServer( port );


该类实现两个构造函数:

  public ChatServer( int port ) throws UnknownHostException {
            super( new InetSocketAddress( port ) );
    }

    public ChatServer( InetSocketAddress address ) {
            super( address );
    }


因此,您也可以使用inetSocketAddress调用服务器。创建一个多数民众赞成绑定到本地主机:

new ServerSocket(9090, 0, InetAddress.getByName(null));


然后使用该端口而不是端口调用服务器。

所以更换

ChatServer s = new ChatServer( port );




InetSocketAddress myLocalSocket = new ServerSocket(9090, 0, InetAddress.getByName(null));
ChatServer s = new ChatServer( myLocalSocket );


在您的示例中,它应该可以工作。

09-27 20:21