1

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

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

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

4

1 回答 1

4

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() { });
});
于 2013-10-17T22:09:58.760 回答