2012-04-20 30 views
1

嗨, 我试图将我的聊天客户端连接到我的服务器,但我不断收到错误。我有一台在互联网上发布的机器上运行的聊天服务器,它具有固定的IP地址,并且正在端口5001上运行。当我的聊天客户端尝试连接到该服务器时,我收到错误消息。这是养错误如下通过互联网设置TCP/IP连接问题

ipAddr = IPAddress.Parse(txtIp.Text); 
    // Start a new TCP connections to the chat server 
    tcpServer = new TcpClient(); 
    tcpServer.Connect(ipAddr, 5001); 

当我在我的本地机器与本机IP同时运行我的聊天客户端&服务器的行,它的工作原理。 请告诉我我需要更改代码,因为我的聊天服务器&客户端都可以通过互联网进行通信。谢谢

+3

这可能是网络问题,而不是代码问题。你有没有路由器/防火墙? – Nettogrof 2012-04-20 13:58:19

+1

实际的错误信息会有所帮助。 – jgauffin 2012-04-20 14:02:35

+0

如何连接主机名? 'tcpClient.Connect(“hostname”,5001);' – Damith 2012-04-20 14:03:37

回答

1

如果首先通过某些计算机网络,则固定IP可能不够。 如果网络简单,或者它比较复杂,您可能需要转发端口,但它可能拥有自己的直接线路但已关闭端口,因此您必须通过系统内的防火墙以及可过滤流量的可能硬件打开它们。

它可能不是代码问题。

当您创建服务器套接字时,尝试将其绑定到IPAddress.Any,因为如果将其绑定到特定设备,它也可能是问题的根源。

+1

你怎么知道没有看到实际的错误信息? – 2012-04-20 14:15:12

+0

因为基于他的话,他使用在本地主机上运行的客户端和服务器代码,并且它工作,所以这意味着代码本身没有问题,但问题可能基于我在此答案中描述的网络问题。 – moka 2012-04-20 15:29:15

+0

我们来了一台登台服务器,在上传到主服务器之前,我们经常托管asp.net站点进行测试。登台服务器有固定的IP。在托管我们的页面之后,我们可以通过像192.168.11.12/home.aspx这样的固定IP访问页面。这个ip只是一个例子,不是真正的。所以我想当我们有固定的IP,那么我们可以在那里运行聊天服务器,客户端应用程序可以在我的机器上运行,并可以通过该IP连接聊天服务器。当我们运行聊天客户端并尝试通过该ip连接到服务器时,我们得到错误。稍后我会发布该错误。 – Thomas 2012-04-20 18:06:15