【问题标题】:Java socket system addressJava套接字系统地址
【发布时间】:2011-07-24 09:08:54
【问题描述】:

如何识别不同系统连接同一个调制解调器或共享同一个互联网连接?我在Connection 上应用了getHostAddress() 和'getHostName()'(这是socket.getInetAddress()),但看起来它们看起来都一样。

我只是想知道连接的不同用户是否来自同一个系统,共享同一个 IP。

【问题讨论】:

  • 也许你可以给我们看一些代码并进一步解释问题?
  • 是否建立了多个连接?即您可以使用地址和端口的元组,还是需要进一步识别?
  • Connection 到底是什么?
  • @EJP 抱歉没有指定,它是一个 socket.getInetAddress 结果。
  • @Steve-o 是的,在共享的互联网地址和端口将是相同的(不在单机上)。

标签: java sockets networking serversocket


【解决方案1】:

使用 IP 提供的功能(可能是 TCP 或 UDP)无法做到这一点。这就是为什么你使用getHostAddress()得到的IP地址是一样的。

您正在实现的协议(如果它是其他人指定的现有协议)必须支持某种客户端识别,或者(如果它是您自己的协议)您必须自己实现它,例如对客户端特定数据(硬件 GUID 或类似)使用一些任意校验和。

【讨论】:

    猜你喜欢
    • 2011-09-27
    • 1970-01-01
    • 2015-07-19
    • 2016-04-24
    • 2011-09-29
    • 2018-05-23
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    相关资源
    最近更新 更多