Are there any simple sample code showing ngrok forwarding socket.io/websocket (running under nodejs on localhost)?
In other words, does
ngrok http 3000
work with a nodejs server and socket.io running on port 3000? Or something like
ngrok http+tcp 3000 (just wild guessing)
Yes. If your node app is working off of port 3000 like in your example then just use ngrok to create a reverse proxy to expose 3000 to the world. Websockets will work just fine with it.
( Self-answer moved from the question into the answers section )
simply use
ngrok http 3000
You will see the web address string that localhost binds to. So in the client javascript code, change
var socket = io.connect('http://localhost:3000');
to
var socket = io.connect('http://94349fe6.ngrok.io');
NOTE:
http://94349fe6.ngrok.io
is just that web address string. Yours will be different from this one.
Actually, if one simply does:
var socket = io();
as the introduction to socket.io states:
it defaults to trying to connect to the host that serves the page
So it works as well.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.