socket编程中,有一个TCP服务器,需要实现这样的一个功能,它只能接受某个指定IP的客户连接,其他IP地址的连接都拒绝。
比如,服务器在端口3344进行监听(listen),他只接受某个IP(如192.168.0.123)地址的客户端连接过来,不是从192.168.0.123连接过来的,都拒绝。
假设有客户端IP地址不是192.168.0.123,向服务器发起connect;
这时服务器的accept仍然不返回,而客户的连接也失败;
目前我所知的方法是,只要客户端connect到服务器的3344,服务器的accept就返回,然后通过accept附带的地址信息判断是不是从192.168.0.123连过来的,如果不是,那么就调用closesocket,关闭accept返回的socket。
这样处理对于服务器端,问题不大。但是对于客户端,却有一些问题。因为当服务器accept之后,客户端的connect就会成功,这时客户端就会向用户报告连接成功,或者做其他事物。可是很
如何让TCP服务器只accept指定IP地址的connect?
最新推荐文章于 2023-07-19 11:00:44 发布