在接受连接之前,是否可以检查服务器/接受方端的远程主机的IP?
背后的原因:我有 n 客户经常尝试连接到服务器,我不想经常 n 打开连接。相反,我希望能够选择我想要连接的客户端,并且只在需要时才接受这些连接。
不幸的是,需要从客户端启动连接,因此以相反的方式,由于防火墙和策略。
这是否可以从TCP的角度来看,如何在asio中完成?
答案 0 :(得分:0)
有两种方法:
您接受连接并获取对等地址,检查并关闭它。您也可以借此机会告诉客户端服务器正忙。然而,这方面可能会为大量连接请求打开攻击向量。
您可以使用诸如fail2ban之类的内容在运行时修改防火墙。
顺便说一句,是什么让你不愿意持N开连接?现代系统可以毫无问题地处理数十万甚至数百万的连接。