Tag: websocket

通过Socket.IO为WebSocketdevise模式

我正在使用WebSockets构build一个复杂的聊天应用程序。 我使用Node.JS的Socket.IO库来实现协议。 我应该为每个聊天创build一个单独的名称空间,还是为每个聊天单独​​创build一个空间? 命名空间和Socket.IO中的房间之间的主要区别是什么?

Socket io。 禁止自动join由套接字ID标识的房间

在文档中说:“Socket.IO中的每个Socket都由一个随机的,不可测的唯一标识符Socket#id来标识。为了方便起见,每个套接字自动join由这个id标识的一个房间。 我想知道是否有一个选项来禁用此function。 我的解决scheme是: io.on('connection', function (socket) { leaveDefRoom(socket); […] } function leaveDefRoom(socket){ var room = socket.adapter.rooms; for (var key in room){ if (key.charAt(0) == '/') { socket.leave(key); return; } } }

为什么web socket在nodejs上performance不同?

我有一个Nodejs Server.js代码: 第一个概念: var http = require('http'); var express = require('express'); var app = express(); var path = require('path'); var conn= http.createServer(app).listen(3000, function () { console.log("server Running at Port 3000"); }); var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({server: conn}); 我有一个java脚本的index.html代码: <html> <body> <script src="myscript.js"></script> </body> </html> 在myscript.js里面我有: var connection = new WebSocket('ws://localhost:3000'); 当我在浏览器上打开http://localhost:3000时,这工作正常。 […]

如何接收从socket.io发送的参数使用baconJS发出事件?

我需要一些与socket.io和bacon.JS的帮助: 我在客户端有一个socket.IO发送事件,发送2个参数到服务器,如下所示: $("#btn").asEventStream("click").onValue(function(){ socket.emit("event", param1, param2); }); 然后在服务器端,我需要接收这2个参数,所以我可以做的东西与他们。 按照这个答案的例子,我试着做这样的事情: io.on('connection', function (socket) { socket.on('error', function (err) { console.log(err); }); Bacon.fromEvent(socket, "event", param1, param2) .filter(function(param1, param2){ return true }) .forEach(function(param1, param2){ doStuff(param1, param2); }); }); 但它没有工作。 总结一下,我需要在服务器上以事件stream的forms接收事件,并使用这些参数。 谁能帮我?

树莓派3脚本RAM的使用

我正在使用树莓派3从设备中提取串行数据(USB),然后使用websockets将这些数据发送到客户端。 所有在NodeJS上运行。 为了从设备中获取数据,我们使用modbus-rtu,但是我们有一个内存问题。 脚本在1-2小时后停止工作。 我们发现.readHoldingRegisters()会在一段时间后增加我们的内存使用量。 任何提示解决scheme?

next()调用nodejs中的express-ws模块

我遇到了一个示例代码为我的networking服务器使用express-ws在我的服务器和客户端浏览器之间进行可靠的Websocket连接。 代码将开始在3000端口监听websocket连接。 var express = require('express'); var app = express(); var expressWs = require('express-ws')(app); app.use(function (req, res, next) { console.log('middleware'); req.testing = 'testing'; return next(); }); app.get('/', function(req, res, next){ console.log('get route', req.testing); res.end(); }); app.ws('/', function(ws, req) { ws.on('message', function(msg) { console.log(msg); }); console.log('socket', req.testing); }); server.listen(3000); next-API在express-websocket中有什么用处?

Socket.IO客户端如何连接?

我在这里的第二个例子: https : //github.com/socketio/socket.io-client 并尝试连接到使用websockets的网站,在节点中使用socket.io-client.js。 我的代码如下: var socket = require('socket.io-client')('ws://ws.website.com/socket.io/?EIO=3&transport=websocket'); socket.on('connect', function() { console.log("Successfully connected!"); }); 不幸的是,没有任何logging。 我也试过: var socket = require('socket.io-client')('http://website.com/'); socket.on('connect', function() { console.log("Successfully connected!"); }); 但没有。 请告诉我我做错了什么。 谢谢!

如何/应该删除旧的websocket连接?

我在Node.js上使用了'ws',而且我不确定删除了多大的连接(旧连接是断开连接或空闲连接,这可能是两个不同的问题)。 我需要手动实现这两种types?

Rails ActionCable连接(服务器)与NodeJs(客户端)

我想创build一个轨道ActionCable之间的连接, NodeJs作为Client Server和NodeJs 。 这是我在connection.rb文件中的代码。 # app/channels/application_cable/connection.rb module ApplicationCable class Connection < ActionCable::Connection::Base identified_by :uuid def connect self.uuid = SecureRandom.uuid end end end 这是我的频道的代码。 # app/channels/socket_connection_channel.rb class SocketConnectionChannel < ApplicationCable::Channel def subscribed stream_from "socket_connect" end def speak ActionCable.server.broadcast("socket_connect", message: "Connected") end def unsubscribed # Any cleanup needed when channel is unsubscribed end end 这是server.js文件中的NodeJs代码 const […]

无法从React客户端向Node.js websocket服务器发送消息

我有以下代码作为服务器: var http = require('http'), cors = require('cors'), connect = require('connect'), WebSocketServer = require('ws'); var DataController = function() { this.PORT = 8090; this.startWS(); this.startServer(); } DataController.prototype = { // code to start server… getMessage: function(_message) { var that = this, message = JSON.parse(_message), msgName = message.name; console.log('new message ' + msgName); switch(msgName){ case 'start': // […]