套接字编程客户端名称

时间:2014-02-11 18:14:10

标签: java

在“接受”连接之前,有没有办法在服务器端获取客户端名称?使用java。

我是java新手。

提前感谢..

2 个答案:

答案 0 :(得分:0)

  

在“接受”连接之前,有没有办法在服务器端获取客户端名称?

不 - 您必须先接受连接。然后您可以阅读主持人的姓名并选择下一步行动。

Socket client = server.accept();
String hostName = client.getInetAddress().getHostName();

答案 1 :(得分:0)

客户端名称(客户端主机名)只能从Socket客户端获得,因此您需要先接受它,然后再做出相应的反应。

private static final String ALLOWED_NAME = "my.hostname.com";

....

Socket client = server.accept();
String hostName = client.getInetAddress().getCanonicalHostName();

if(hostName.equalsIgnoreCase(ALLOWED_NAME)
{
   // DO NOTHING
}
else 
{
   client.close();
}

参考:

请务必区分getCanonicalHostname()和getHostname()

相关问题