【发布时间】:2016-02-29 13:44:54
【问题描述】:
在接受连接之前,是否可以在服务器/接受者端检查远程主机的IP?
背后的原因:我有 n 个客户端经常尝试连接到服务器,我不想经常有 n 个打开的连接。相反,我希望能够选择要连接的客户端,并且仅在需要时接受这些连接。
不幸的是,连接需要从客户端启动,因此由于防火墙和策略的原因,需要以相反的方式启动。
从 TCP 的角度来看,这是否可能?如何在 asio 中做到这一点?
【问题讨论】:
-
客户端发起连接听起来像是正常的连接方式。至于你的问题,没有标准的“窥视”传入连接的方法是队列,只有当你接受连接后,你才能得到它的地址。而且它也是解除连接的唯一标准方式,您不能“关闭”传入队列中的连接。
-
嗯,好的,谢谢,那我得想个办法。
-
@user66875 可能不会。您可以只接受连接,获取远程 IP 地址(请参阅 here )并在您不喜欢该客户端时关闭该连接。
标签: c++ boost boost-asio