2013-10-17 81 views
1

我想連接到另一臺服務器上的wss。假設它的地址是:wss://123.123.123.12:8843NodeJS連接到另一臺服務器上的wss

我有一個nodejs/expressjs應用程序。我如何使用socket.io連接到它?我知道如何爲服務器/客戶端設置實現socket.io,但是如何爲兩臺服務器(其中一臺我無法訪問)執行此操作。

如何設置我的expressjs應用程序連接到wss?有沒有辦法使用socket.io或我需要另一種方式嗎?

回答

3

Socket.IO不是WebSocket。它是一個支持WebSocket的傳輸系統,但是如果你想與其他WebSocket接口,使用Socket.IO內部使用的ws模塊會更好。這是如何使用它:

var WebSocket = require('ws'); 
var ws = new WebSocket('ws://www.host.com/path'); 
ws.on('open', function() { 
    ws.send('something'); 
}); 
ws.on('message', function(data, flags) { 
    // flags.binary will be set if a binary data is received 
    // flags.masked will be set if the data was masked 
}); 

如果你真的只是想與另一個Socket.IO服務器進行通信,然後在服務器上安裝客戶端。它的使用方式與您在瀏覽器客戶端上使用的方式相同。

npm install socket.io-client 

然後用法:

var socket = require('socket.io')('http://host/path'); 
socket.on('connect', function() { 
    socket.on('event', function(data) { }); 
    socket.on('disconnect', function() { }); 
}); 
+0

好知道。在嘗試einaros的ws(https://github.com/einaros/ws)後,我不斷收到錯誤SELF_SIGNED_CERT_IN_CHAIN。我試圖在Mac上運行它。 – wwwuser

+0

您使用的是什麼版本的Node.js? – hexacyanide

+0

我使用0.10.20版本。 – wwwuser

相關問題