【问题标题】:How do I distinguish between 2 Indy clients that connected from the same IP address?如何区分从同一 IP 地址连接的 2 个 Indy 客户端?
【发布时间】:2014-01-06 03:41:14
【问题描述】:

抱歉,links 到 Indy 的文档目前不适合我。我不知道这些网站是否已关闭或其他原因,但它们目前没有加载到我的浏览器中。

我在一个“服务器”应用程序中有一个 TIdCmdTcpServer,在另一个“客户端”应用程序中有一个 TIdCmdTcpClient。我知道如何在连接后获取客户端的 IP 地址。我不知道如何区分从同一 IP 地址连接的 2 个客户端。谁能帮助

【问题讨论】:

标签: delphi sockets client-server indy


【解决方案1】:

这并不是一个真正的 Indy 问题,而是一个通用的网络问题。

同一地址的不同客户端必须使用不同的端口。这里我指的是连接客户端的端口。因此,您可以通过使用不同端口来区分同一地址的不同客户端。

【讨论】:

    【解决方案2】:

    请勿将TIdCmdTCPClientTIdCmdTCPServer 一起使用。它们不打算一起使用,而且很容易使您与它们的通信陷入僵局,因为它们都使用期望另一个对等方发送数据的内部读取线程。使用TIdTCPClientTIdCmdTCPServerTIdCmdTCPClientTIdTCPServer

    话虽如此,您可以使用客户端的远程 IP/端口来区分,但通常最好创建自己的标识符,例如要求客户端使用用户名登录,然后您可以根据需要进行跟踪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-30
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多