[英]TcpClient- how to connect to an external IP address?
我一直在嘗試設置一個基本方案,其中TcpClient
連接到同一台計算機上的TcpListener
,但是到目前為止,它僅適用於127.0.0.1
和192.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.