关于TCP服务器同时只能与一个客户端通信的问题
今天做一个客户的需求,核心是我们服务器端同时只允许与一个客户端通信,一开始思路是多个客户端来连接,服务器accept之后不处理即可,但其他客户端此时发送信息过来,服务器与当前客户端断开连接,与其他客户端连接后,服务器会收到之前客户端发送的信息,查阅一些资料,也没找到好的方法,最终我是用iptables来做的限制,拿到客户端的ip和端口后,下发规则
1. iptables -I INPUT -p tcp --dport 'dst port' -j DROP
2. iptables -I INPUT -s 'ip' -p tcp --sport 'src port' --dport 'dst port' -j ACCEPT
只有此ip的src port才能访问服务器,此客户端断开连接后,删除这些规则
不知道是否还有其他更好的办法来解决此问题
浙公网安备 33010602011771号