我正在使用 C# 开发一个简单的 hello world TCP/IP 客户端服务器应用程序,但无法让我的客户端连接。谁能提供任何额外的故障排除步骤?我开始没有想法了...
以下是相关的代码部分:
服务器:
Console.Out.WriteLine("About to bind address");
IPAddress ipAd = IPAddress.Parse("127.0.0.1");
Console.Out.WriteLine("Choose a port to bind...");
String port = Console.In.ReadLine();
int iPort = Int32.Parse(port);
TcpListener myList = new TcpListener(ipAd, iPort);
myList.Start();
Console.WriteLine("The server is running at: "+myList.LocalEndpoint);
Console.WriteLine("Waiting for a connection.....");
Socket s = myList.AcceptSocket();
Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);
客户:
Console.Out.WriteLine("enter address: ");
string address = Console.In.ReadLine();
Console.Out.WriteLine("enter port: ");
int port = Convert.ToInt32(Console.In.ReadLine());
TcpClient tcpclnt = new TcpClient();
Console.WriteLine("Connecting.....");
Console.Out.WriteLine("Address: " + address + ":" + port);
tcpclnt.Connect(address, port);
我能够从客户端机器 ping 服务器,但是我无法使用绑定端口远程登录到服务器。我尝试了各种端口(一些在 8000 的低端,一些在 40000 左右)。我在两个系统上都禁用了 Windows 防火墙。这些系统连接到不在互联网上的路由器。我尝试过设置和不设置端口转发以将给定端口上的传入请求转发到服务器机器,但没有任何效果。
我能够捕获的唯一异常是客户端抛出的:
由于目标机器主动拒绝,无法建立连接。
我检查了一个InnerException
,但似乎没有 - 这是基本异常。这可能是对的吗?
不知道我还应该看什么 - 任何额外的故障排除步骤都会有所帮助。
谢谢!