C#和.NET 2.0:TcpListener.Pending()永远不会看到传入的连接

时间:2016-09-08 17:47:02

标签: c# sockets network-programming .net-2.0 tcplistener

我正在开发一个应用程序,我别无选择,只能定位.NET 2.0。这是一个使用 TcpClient TcpListener 的套接字应用程序,我在Windows防火墙(Win 7.0)中打开了必要的端口。一方面,我使用 TcpClient .Connect()方法启动连接,另一端的 TcpListener.Pending()方法检测请求。

我遇到的问题是 Pending()永远不会在服务器端返回true。我已检查以确保已调用 Start()方法等,并且不会返回任何错误或抛出异常。在客户端,我在try /中使用 Connect(),Write(),Flush(), Close()(这些都是void返回类型)捕获,没有异常发生。所以,从客户的角度来看,一切看起来都很好。问题是服务器永远不会看到连接请求,因此客户端认为发送的数据永远不会出现在服务器上。

由于作品非常机密,我无法发布源列表。我想知道,根据这个描述,有人可以提出一些可能的罪魁祸首。正如我所说的,我已经在防火墙中打开了端口 - 我最初得到的“没有连接可以因为目标机器主动拒绝它,”但是,在处理防火墙问题之后,所有错误和异常消失了,但仍然没有数据流。

我知道这是一个没有源列表的艰难的,但如果您之前已经看过这样的问题并且可以建议看的地方,我会非常感激。

谢谢。

1 个答案:

答案 0 :(得分:-1)

也许有一个"白名单"各种各样的?也许服务器需要"白名单"客户?