【问题标题】:How to use ngrok tcp tunnels with C# Socket如何在 C# Socket 中使用 ngrok tcp 隧道
【发布时间】:2021-03-27 11:35:39
【问题描述】:

我需要在 ngrok 的帮助下连接到本地 tcp 服务器。 我试过这样连接:

Socket _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_clientSocket.Connect(IPAddress.Parse("<int>.tcp.ngrok.io"), 10543); // Port of tcp tunnel

但问题是它没有连接到我。

【问题讨论】:

    标签: c# sockets tcp ngrok


    【解决方案1】:

    从网站下载 ngrok 文件并使用以下命令启动它:

    ngrok tcp (your port here)
    

    当您启动它时,在转发之后您应该会看到域。在没有 tcp:// 的情况下复制它 之后你打开 cmd 并输入:

    ping (ngrok domain eg. 2.tcp.ngrok.io:69420 becomes 2.tcp.ngrok.io)
    

    要使 ping 真正起作用,您需要在域之后删除端口 然后在cmd中你应该看到一个ip,你应该在输出中看到一个ip。将此 ip 复制到您连接到服务器的代码的 ip 地址部分。选择端口作为域端口。

    Client.Connect(IPAddress.Parse("ip in the cmd output"), port of the ngrok domain);
    

    我相信这行得通,虽然不完全确定,但值得一试。

    编辑: 我尝试了上面列出的内容,并且 IP 似乎每隔一段时间就会不断变化,但每次更改时它似乎仍然可以正常工作,而无需我更新代码中的 ip

    【讨论】:

      猜你喜欢
      • 2019-12-04
      • 2022-01-21
      • 2017-02-21
      • 2022-07-14
      • 1970-01-01
      • 2018-05-19
      • 2019-03-27
      • 2015-03-11
      • 2021-02-22
      相关资源
      最近更新 更多