NodeJS连接到另一台服务器上的wss

时间:2013-10-17 21:40:25

标签: node.js express websocket socket.io

我想连接的另一台服务器上有一个wss。我们说它的地址是:wss://123.123.123.12:8843

我有一个nodejs / expressjs应用程序。如何使用socket.io连接到它?我知道如何为服务器/客户端设置实现socket.io,但是我如何为两台服务器(其中一台我无权访问)执行此操作。

如何设置我的expressjs应用程序以连接到wss?有没有办法使用socket.io或者我需要以另一种方式吗?

1 个答案:

答案 0 :(得分:3)

Socket.IO不是WebSocket。它是一个支持WebSockets的传输系统,但是如果你想与其他WebSockets接口,你可以使用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() { });
});