我想连接的另一台服务器上有一个wss。我们说它的地址是:wss://123.123.123.12:8843
我有一个nodejs / expressjs应用程序。如何使用socket.io连接到它?我知道如何为服务器/客户端设置实现socket.io,但是我如何为两台服务器(其中一台我无权访问)执行此操作。
如何设置我的expressjs应用程序以连接到wss?有没有办法使用socket.io或者我需要以另一种方式吗?
答案 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() { });
});