25

是否有任何简单的示例代码显示 ngrok 转发 socket.io/websocket (在本地主机上的 nodejs 下运行)?

换句话说,是否

ngrok http 3000

使用在端口 3000 上运行的 nodejs 服务器和 socket.io?或者类似的东西

ngrok http+tcp 3000 (just wild guessing)

编辑:

在 ngrok.com 的帮助下回答我自己的问题

只需使用

ngrok http 3000

您将看到 localhost 绑定到的网址字符串。所以在客户端javascript代码中,改变

var socket = io.connect('http://localhost:3000');

var socket = io.connect('http://94349fe6.ngrok.io');

笔记:

http://94349fe6.ngrok.io就是那个网址字符串。你的将与这个不同。

再次编辑:

实际上,如果只是这样做:

var socket = io();

“它默认尝试连接到为页面提供服务的主机”

所以它也有效。

4

1 回答 1

8

是的。如果您的节点应用程序在您的示例中使用端口 3000,那么只需使用 ngrok 创建一个反向代理以将 3000 暴露给世界。Websockets 可以很好地使用它。

于 2017-07-19T20:55:13.840 回答