我在公共互联网上向所有人开放的服务。它运行TcpListener来管理传入连接。
该服务通过其传入的IP地址维护一个持续行为不当的客户端列表。当连接关闭时,来自列出的IP的任何连接都会发送“离开”消息。
如果套接字没有首先打开,我更喜欢它,但是当AcceptTcpClient返回时,连接已经打开。
我的代码是否有办法在打开之前介入并检查传入的连接请求(并可能拒绝它们)?
非常感谢。
答案 0 :(得分:1)
WSAAccept
允许指定可以决定是接受还是拒绝连接的回调。有关如何从C#中调用它,请参阅this question。
答案 1 :(得分:0)
由于您使用的是.Net,我认为您必须在Windows下运行。
套接字API无法实现您所寻求的目标。但是,您可以让程序添加Windows防火墙规则来完成同样的事情 - 假设您已打开Windows防火墙。