【问题标题】:Can a single thread connect multiple sockets to the same ip/port?单个线程可以将多个套接字连接到同一个 ip/port 吗?
【发布时间】:2011-04-05 14:26:08
【问题描述】:

如果您有一个与服务器通信的单线程程序,该程序能否将 2 个安全客户端套接字连接到同一个 ip/端口,或者这会导致问题,因为 clientIp/clientPort/serverIp/serverPort 将是相同的?我不确定客户端端口是如何确定的。我想这样做的原因是,每个连接都可以使用具有不同权限的不同用户名/密码登录。

谢谢!

【问题讨论】:

  • 取决于服务器是否可以处理 - 如果服务器可以接受多个连接,那么可以(只要您指定的端口在客户端不一样)

标签: c++ sockets ssl


【解决方案1】:

是的,您可以:只需创建两个单独的连接。

如果您不指定客户端端口(即您将其设置为 0),系统会为您随机选择一个。

如果您希望能够对两者的事件做出反应,您可以使用 select 来做到这一点。

【讨论】:

    【解决方案2】:

    Jeff,您可以使用不同的客户端端口连接到相同的服务器 IP/端口。如果您需要使用相同的客户端端口进行连接,则必须执行连接/发送请求/断开连接/连接...序列。

    【讨论】:

    • ... 并在断开连接和下一次连接之间等待两分钟。重复使用相同的客户端端口基本上是没有意义的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2016-05-25
    • 2017-10-25
    • 1970-01-01
    • 2012-04-01
    • 2021-05-15
    相关资源
    最近更新 更多