我有C#编程语言的服务器和客户端脚本。当我在我的计算机和另一台计算机上创建服务器时,我正在尝试连接到服务器,它说:
远程主机强行关闭现有连接
当我将服务器的IP更改为0.0.0.0(IPAdress.Any)时会发生这种情况
连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败
当我将服务器的IP更改为10.0.0.6(在ipconfig-IPv4上)时,会发生这种情况。
我也关闭了防火墙,并在路由器的网站上打开了端口(11000)。
我在客户端输入服务器的公共IP地址(位于whatismyip.com上)。
该程序在本地网络上运行时非常有效(我的意思是当两台计算机具有相同的网络时)。
脚本:
有谁知道如何解决它?
答案 0 :(得分:0)
首先,检查以确保您的服务器正在主动侦听您期望的TCP端口。如果是Windows机器,请从命令行尝试:
netstat -ano | findstr ***LISTENINGPORT***
在你的情况下,我猜你应该听11000.
如果是这样,在客户端,请告诉我您的代码确切的位置。我现在假设它是这样的:
sender.Connect(new IPEndPoint(IPAddress.Parse(ip), 11000));
..并在客户端计算机上运行WireShark捕获。
有很多快速启动指南 - 基本上这可以让您看到客户通过网络发出的请求,&查看服务器上是否建立了连接(如果有)。
如果您正在建立连接,那么它只是因为其他原因而被关闭,那么您就会遇到代码问题。如果不是,那么您有网络/配置问题。这可以帮助你取得进步。