我正在开发一个应用程序,我别无选择,只能定位.NET 2.0。这是一个使用 TcpClient 和 TcpListener 的套接字应用程序,我在Windows防火墙(Win 7.0)中打开了必要的端口。一方面,我使用 TcpClient .Connect()方法启动连接,另一端的 TcpListener.Pending()方法检测请求。
我遇到的问题是 Pending()永远不会在服务器端返回true。我已检查以确保已调用 Start()方法等,并且不会返回任何错误或抛出异常。在客户端,我在try /中使用 Connect(),Write(),Flush(),和 Close()(这些都是void返回类型)捕获,没有异常发生。所以,从客户的角度来看,一切看起来都很好。问题是服务器永远不会看到连接请求,因此客户端认为发送的数据永远不会出现在服务器上。
由于作品非常机密,我无法发布源列表。我想知道,根据这个描述,有人可以提出一些可能的罪魁祸首。正如我所说的,我已经在防火墙中打开了端口 - 我最初得到的“没有连接可以因为目标机器主动拒绝它,”但是,在处理防火墙问题之后,所有错误和异常消失了,但仍然没有数据流。
我知道这是一个没有源列表的艰难的,但如果您之前已经看过这样的问题并且可以建议看的地方,我会非常感激。
谢谢。
答案 0 :(得分:-1)
也许有一个"白名单"各种各样的?也许服务器需要"白名单"客户?