2015-07-09 22 views
13

Có bất kỳ mã mẫu đơn giản nào hiển thị ngrok forwarding socket.io/websocket (đang chạy dưới nodejs trên localhost) không?sử dụng ngrok với websocket (hoặc socket.io)

Nói cách khác, không

ngrok http 3000 

làm việc với một máy chủ nodejs và socket.io chạy trên cổng 3000? Hoặc một cái gì đó giống như

ngrok http+tcp 3000 (just wild guessing) 

EDIT:

để trả lời câu hỏi của riêng tôi sau khi sự giúp đỡ từ ngrok.com

chỉ cần sử dụng

ngrok http 3000 

Bạn sẽ thấy những chuỗi địa chỉ web mà localhost với phím tắt đến. Vì vậy, trong client mã javascript, thay đổi

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

để

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

LƯU Ý:

http://94349fe6.ngrok.io là chỉ là chuỗi địa chỉ web. Của bạn sẽ khác với cái này.

EDIT LẠI:

trên thực tế, nếu một chỉ đơn giản là:

var socket = io(); 

"nó mặc định là cố gắng để kết nối với các máy chủ phục vụ trang"

Vì vậy, nó hoạt động là tốt.

+9

bạn nên thêm giải pháp của mình làm câu trả lời và chấp nhận giải pháp, nó sẽ rõ ràng hơn – Lope

Trả lời

1

Có. Nếu ứng dụng nút của bạn đang hoạt động ngoài cổng 3000 như trong ví dụ của bạn thì chỉ cần sử dụng ngrok để tạo proxy ngược để hiển thị 3000 cho thế giới. Websockets sẽ hoạt động tốt với nó.

Các vấn đề liên quan