首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接2个websockets和socket.io

连接2个websockets和socket.io
EN

Stack Overflow用户
提问于 2018-03-22 05:59:05
回答 2查看 1K关注 0票数 1

我正在使用websocket从网页中获取数据,但我需要将它与socketIO一起部署到客户端。在我的server.js客户机中,可以很好地连接socketio,但是在数据(Line1 line2)无法正常出现之后,我总是需要重新启动服务器2-3 times.Then。

这是我的解密

代码语言:javascript
复制
var server = require('http').Server(app);
var io = require('socket.io')(server);
const WebSocket = require('ws')
const wss = new WebSocket('gettingDataAdress');

io.on('connection', function (socket) {
   console.log("client connected");


   wss.on('open', () => {
       console.log("send processing");
        //line1
   })
   wss.on('message', () => {
       console.log("getting message processing");
       //line2
   })

在重新启动我的server.js 2-3次之后,它可以用于line1和line2,每当我评论socketio部分(我的意思是只使用websocket )时,它就不能directly.However --它可以工作吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-22 06:15:00

您正在使用两个不同的websockets wssocket.io。只使用一个连接到客户端并订阅即将出现的消息。

只有Socket.io

代码语言:javascript
复制
io.on('connection', function (socket) {
   console.log("client connected");


   socket.on('open', () => {
       console.log("send processing");
        //line1
   })
   socket.on('message', () => {
       console.log("getting message processing");
       //line2
   })

只有ws

代码语言:javascript
复制
const WebSocket = require('ws');

const ws = new WebSocket('url');

ws.on('open', () => {
  //do processing
});

ws.on('message', () => {
  //do processing
});
票数 2
EN

Stack Overflow用户

发布于 2018-08-06 02:36:23

想写一篇评论,却没有口碑要写,所以决定在这里写。抱歉的!

如果您想订阅,最好使用socket.io-client。然而,socket-io本身并不是订阅wss的合适库。

https://github.com/socketio/socket.io-client/issues/1208

实际上,Socket.IO不是WebSocket实现,它有自己的协议,可以使用WebSocket连接来传输数据-( socket-io客户端库的大部分贡献者)

因此,如果您从wss页面获得数据,那么使用ws库并通过socket-io扩展它。我相信你所做的一切都很好。不过,可能需要修理一下。

Connecting to GDAX websocket api using socket.io with webpack从ws获取数据也有类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49421550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档