尝试连接到我的服务器时出现错误10061

问题描述:

我正在使用客户机/服务器,并且无法通过互联网进行通信。如果我在同一台计算机上运行它们,如果我有客户端连接到localhost或我的网络地址(192.168.1...),但它不起作用(错误10061:连接主动拒绝),如果我有客户端连接到我的外部地址(99.141...)。我尝试关闭防火墙,并且已经转发了路由器上的端口,所以我不知道还有什么要检查的。该服务器由TcpListener类构成,客户端由TcpClient类构成。服务器绑定到IPAddress::Any尝试连接到我的服务器时出现错误10061

我检查了netstat并且服务器在正确的端口上广播,我只是无法连接到非本地。

+0

您可以远程登录到相关端口从本地箱在服务器上? – 2010-08-13 20:32:37

+0

不,telnet表示无法连接。 – 2010-08-13 20:36:59

+0

您的ISP可能会过滤掉非网络流量吗? – 2010-08-13 20:39:23

您是否在外部地址99.141.xx上打开了端口转发,例如,客户端连接到端口901,它在专用C类网​​络地址(例如192.168.1.x)上工作,是否已转向在外部地址99.141.xx:901,以便它可以发送和输出数据....您是否在外部地址99.141.xx:901上运行防火墙后面的服务器?

因此到MSDN文档Winsock错误,10061是连接被拒绝......什么地方下了线,客户端试图连接,但得到了拒绝......

这将有助于运行Wireshark的和调查数据包如果真的被传送他们......

更可能的ISP已阻止传入绑定数据包....

+0

我安装了WireShark并在尝试连接时运行它,但我并不确定我在看什么。它看起来像连接正在发送和接收正常,但端口看起来不正确 我有一个数据包从192.168.1.75到99.141.65.30与源端口4364和目的地端口13005(大概是客户端尝试连接),然后另一个数据包从99.141.65.30到192.168.1.75,源端口为13005,目的端口为4364(假设连接回到服务器),但我不知道为什么它有那个目的地港口。 – 2010-08-13 20:57:39

+0

当你连接到一个服务器时,客户端将使用一个可用的端口来连接*来自* - 所以4364客户端的源端口(当客户端是目的地时同样是相同的端口)没问题。 – 2010-08-13 21:11:56

+0

因此,如果第二个数据包回到了客户端,那么这是否意味着服务器没有发送任何内容?由于我有“客户端数据包”,后面跟着“数据包到客户端”,没有“数据包到服务器”,看起来客户端永远不会到达服务器。那么在哪里端口转发设置不正确或我的ISP正在过滤端口? – 2010-08-13 21:39:38