2011-03-22 29 views
0

前傳入的連接請求我有一個服務,是向所有人開放的公共互聯網上。它運行TcpListener來管理傳入的連接。的TcpListener:拒絕連接

該服務通過其進入的IP地址保持持續行爲不端的客戶名單。當連接關閉時,來自列出的IP的任何連接都會發送「消失」消息。

我更喜歡它,如果插座沒有在第一時間打開,而是由AcceptTcpClient返回時,連接已經打開。

有沒有辦法讓我的代碼在打開之前進入並檢查傳入的連接請求(並且可能拒絕它們)?

非常感謝。

回答

1

由於您使用的.Net我認爲你必須在Windows下運行。

有沒有從套接字API的方式做你所追求的。但是,您可以讓程序添加Windows防火牆規則來完成同樣的事情 - 假設您已打開Windows防火牆。

0

WSAAccept允許指定一個回調,它可以決定是否接受或拒絕連接。有關如何從C#調用它,請參見this question