我正在使用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服務器,但是我無法使用綁定的端口telnet到服務器。我嘗試了各種端口(少數在8000和40000左右)。我已在兩個系統上禁用Windows防火牆。系統連接到不在互聯網上的路由器。我嘗試了使用和不使用端口轉發設置將給定端口上的傳入請求轉發到服務器計算機,但沒有任何效果。
,我已經能夠捕獲唯一的例外是由客戶端拋出:
無連接可以作出,因爲 目標機器積極地拒絕它 。
我檢查了一個InnerException
但似乎沒有 - 這是基本的例外。這是對的嗎?
不知道還有什麼我應該看 - 任何其他故障排除步驟將是有益的。
謝謝!
我應該剛剛問過你 - 首先就是這樣。任何想法爲什麼它有所作爲? – 2009-02-13 18:55:58
您的機器同時坐在多個IP網絡上,在您的情況下,環回和本地網絡。你明確要求只聽127.0.0.1,而127.0.0.1/32上的唯一一臺機器是你的。機器可以連接到自己(通過127.0.0.1/32),但沒有其他人可以。 – Coincoin 2009-02-13 20:45:24