2010-01-16 177 views
2

我希望我的应用能够通过互联网与自己进行通信,但这对我来说已证明是不可能的。我从来没有能够解决的一件事是Tcp或整个网络事物。简单的网络帮助(C#WinForms)

我已阅读文档并从字面上看过30多个样本,其中没有一个曾经工作过。

我想要做的就是从我的计算机上的程序发送消息到我的朋友计算机上的程序(在不同的网络上)。

但没有任何工作。我会发布示例代码,但我认为这将是毫无意义的,因为所有不同的示例都给了我不同的错误等,这里是我们得到的错误列表:

1:无法连接到目标,因为远程计算机主动拒绝它。 2:连接超时。

有人可以帮我解决这个问题吗?

谢谢很多提前

编辑: 1。此外,我们有尝试完全禁用所有的防火墙。这完全没有帮助。 2.我试图通过可用的端口循环,但这也没有任何区别。

+1

你用什么方法连接?你有一些示例代码来帮助我们找出可能出错的地方吗? – 2010-01-16 06:00:41

+1

当你尝试ping你朋友的IP地址时会发生什么?您也可以尝试tracert。 – 2010-01-16 06:05:44

+0

它说了一些关于成功发送和recv'd数据包,所以我认为pinging工程:) – 2010-01-16 06:09:11

回答

3

可能有几个原因

1)是否在本地

2)您使用的是真正的IP,由ISP提供的IP样本的工作。

因为Ips喜欢192.168.1。*或172.16。 互联网 上无法正常工作(你可以找到通过谷歌搜索“我的ip地址”)

例如是117.197.199.138

3)如果您或您的朋友使用的是动态IP也可随时改变时间,这也可能是它不起作用的原因。

+0

虽然我不再有该样本,但仍试图再次找到该样本,但本地样本确实在本地工作。是的,我正在使用我的真实IP如下:“117.197.199.138”等 – 2010-01-16 06:08:11

+0

和是的,我的朋友没有使用动态IP。他有一个静态的,我也是。 – 2010-01-16 06:22:27

+0

这是静态IP在朋友的计算机上的实际IP还是他在NAT路由器后面(他的电脑有一个IP地址,如192.168。*。*?如果是这样,您需要在路由器上设置端口转发。 – shf301 2010-01-16 13:51:39

1

一个问题是您的ISP可能会阻止所有服务器请求。有些ISP不让你运行服务器,除非你支付biz级别的费率。

+0

作为一件单独的事情:我使用Abyss Web Server作为我的网站,人们可以通过他们的计算机连接到它以访问我的网站。这与程序是分开的,但我认为这证明了我的isp不会阻止我运行服务器...我也让我的朋友成为服务器,而我尝试连接到他,那也不管用 – 2010-01-16 06:06:58

+1

你在哪个端口上运行该Web服务器?有时他们有选择地杀死某些港口你可以做的就是将你的应用程序的端口号设置为Abyss的端口号,然后关闭它,然后重新开启。 – 2010-01-16 06:24:30

+0

我刚刚尝试过。不幸的是没有运气但谢谢你的建议 – 2010-01-16 07:15:36