【问题标题】:Can socket.io connect to ws://?socket.io 可以连接到 ws:// 吗?
【发布时间】:2020-12-25 13:22:26
【问题描述】:

现在我正在将 nodejs 服务器设置为使用 webscoket 从其他服务器接收数据

我尝试在nodejs服务器中使用websocket(ws),它可以连接到其他服务器

const WebSocket = require('ws');
var ws = new WebSocketClient(); 
ws.open("ws://ws.something/?token="+Token);

但是当我尝试使用socket.io连接时,控制台没有显示调试信息,也没有收到数据

var io = require('socket.io-client')

const socket = io.connect('ws://ws.something/?token='+Token);
socket.on("connection", function(mSocket){
  console.log('debug message')
  mSocket.on("message", function(myData){
    console.log(myData)
  });
});
socket.on('error', function (err) {
  console.log(err);
});

socket.io 可以连接到 ws:// 吗?还是我的代码有问题? (这是第一次使用)

【问题讨论】:

    标签: javascript node.js sockets websocket socket.io


    【解决方案1】:

    不,它不能。

    Socket.IO 是多种传输之上的一层,Web Sockets 只是其中之一。 Socket.IO 客户端只能连接到 Socket.IO 服务器。

    如果您想从浏览器连接到 Web Socket 服务器,请使用浏览器内置的 Web Socket 客户端:

    const socket = new WebSocket('wss://example.com');
    

    https://developer.mozilla.org/en-US/docs/Web/API/WebSocket

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      相关资源
      最近更新 更多