используя ngrok с websocket (или socket.io)

Есть ли какой-нибудь простой пример кода, показывающий пересылку ngrok socket.io/websocket (работает под nodejs на localhost)?

Другими словами, делает

ngrok http 3000

работать с сервером nodejs и socket.io, работающим на порту 3000? Или что-то вроде

ngrok http+tcp 3000 (just wild guessing)

РЕДАКТИРОВАТЬ:

чтобы ответить на свой вопрос после помощи от ngrok.com

просто используйте

ngrok http 3000

Вы увидите строку веб-адреса, к которой привязан localhost. Итак, в клиентском коде javascript измените

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

to

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

ЗАМЕТКА:

http://94349fe6.ngrok.io - это просто строка веб-адреса. Ваш будет отличаться от этого.

ИЗМЕНИТЬ СНОВА:

на самом деле, если просто сделать:

var socket = io();

"по умолчанию он пытается подключиться к хосту, который обслуживает страницу"

Так что это тоже работает.


person Zhe Hu    schedule 09.07.2015    source источник
comment
вы должны добавить свое решение в качестве ответа и принять его, так будет понятнее   -  person Lope    schedule 27.11.2015


Ответы (1)


да. Если ваше приложение node работает с портом 3000, как в вашем примере, просто используйте ngrok, чтобы создать обратный прокси-сервер, чтобы открыть 3000 миру. Веб-сокеты прекрасно с этим работают.

person Shaun Sweet    schedule 19.07.2017