簡體   English   中英

TcpClient-如何連接到外部IP地址?

[英]TcpClient- how to connect to an external IP address?

我一直在嘗試設置一個基本方案,其中TcpClient連接到同一台計算機上的TcpListener ,但是到目前為止,它僅適用於127.0.0.1192.168.XY 這是我的代碼:

var server = new TcpListener(IPAddress.Any, 51328);

server.Start();

var client = new TcpClient();

client.ConnectAsync(IPAddress.Parse("address from whatismyip"), 51328);

server.AcceptTcpClient(); // hangs indefinitely here

Console.ReadKey();

我從whatismyip獲得了我的外部地址,但是我不確定自己是否做得正確。 我的程序有問題嗎?

我假設您正在嘗試通過Internet連接? 如果您通過COMCAST之類的Internet提供商進行連接,那么您可能有電纜調制解調器? 為此,您將需要在路由器上設置PORT轉發。

互聯網只能看到您的電纜調制解調器,您對互聯網的所有請求都將作為您的電纜調制解調器IP發出,路由器能夠代表您將數據包“路由”到您的192.168.xx地址和從您的192.168.xx地址“路由”出去,因此您的192.168機器能夠聽取並接受,您必須告訴路由器將端口51328上的所有消息轉發到您的機器。

因此,您的代碼將使用192.168.x.xx地址監聽端口51328,然后設置路由器。 要對其進行測試,您可以使用分配給調制解調器的公用Internet地址進行連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM