服务器套接字接受来自特定ip java的连接

Avi*_*hek 4 java sockets serversocket

我有一个端口上运行的serversocket,如我的服务器上的7761,ip说10.2.110.43现在有很多客户端在不同的服务器上运行,等待端口7761上的连接,并将ascii格式的数据写入该端口.

我希望serversocket验证client-ipadress,然后接受来自客户端的连接.

有没有办法做到这一点?

Aub*_*bin 5

我们看到在下面的代码,我们不能检查对口的地址 accept(),但之后

Socket client = serverSocket.accept()
if( acceptedClients.contains( client.getInetAddress()) {
   ...
}
else {
   client.close();
}
Run Code Online (Sandbox Code Playgroud)

带有acceptedClients著名的InetAddress的集合。


use*_*421 5

如果您不介意在a下运行SecurityManager并且IP地址列表是静态的,则可以通过该security.policy文件完成此操作.只需将SocketPermission授予"accept"您想要接受连接的IP地址.但是,在其他答案中建议的代码或防火墙中执行此操作可能更可取.