2013-10-17 47 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

相关问题