从websocket发送数据到socket.io

我用websocket接口连接到websocket服务器。 如果我想通过我的websocket接口发送数据,我从websocket服务器通过http服务器连接到我的客户端,我应该使用socket.io?

在这里输入图像描述

所以最后我会把socket.io连接到http服务器和websocket接口来获取数据,如果有消息会通过socket.io发送给客户端。 这是最好的设置?

代码示例:

// Require HTTP module (to start server) and Socket.IO var http = require('http'), io = require('socket.io'); var WebSocket = require('ws'); var ws = new WebSocket('ws://localhost:5000'); // Start the server at port 8080 var server = http.createServer(function (req, res) { // Send HTML headers and message res.writeHead(200, { 'Content-Type': 'text/html' }); res.end('<h1>Hello Socket Lover!</h1>'); }); server.listen(8080); // Create a Socket.IO instance, passing it our server var socket = io.listen(server); ws.on('open', function open() { ws.send('something'); }); ws.on('message', function (data, flags) { // here the data will be send to socket.io }); // Add a connect listener socket.on('connection', function (client) { // Success! Now listen to messages to be received client.on('message', function (event) { console.log('Received message from client!', event); }); client.on('disconnect', function () { clearInterval(interval); console.log('Server has disconnected'); }); }); 

是的,你的devise是正确的。

但是,您应该记住的一件事是在authentication之后照顾发送消息到正确的客户端。 在我看来,犯这个错误是很容易的,部分原因是使用websockets进行消息传递的简单性。