Tag: socket.io

Redis订阅超时

我如何设置Redis的计时器function子,所以当客户端连接和消息没有收到发布者在200毫秒sockets发出一个事件? 这就是我现在所拥有的: io.on('connection', function(socket){ const sub = redis.createClient(); sub.subscribe("data"); sub.on("message", function(channel, message) { io.emit("data", JSON.parse(message)); }); sub.on("error", function(err){ console.log("Error" + err); }); socket.on("disconnect", function(){ sub.removeListerner('message', function(){ io.emit("disconnected"); }) }); });

为node.js安装socket.io时出错

我安装了节点在我的Windows 8机器上,没有任何问题,然后去安装socket.io包用于作业。 打字后 npm install socket.io 我得到了大量的错误。 我到目前为止所尝试的:这 – nodejs npm安装socket.io错误 ,这 – NPM – 无法安装socket.IO 两者的第一个答案。 我发现很多其他的东西是无论是Windows 7或Mac,所以我不知道这只是一个Windows 8的东西。

socket.io – 触发从服务器端发射?

我怎样才能触发从socketIO的服务器端发出? 我在我的nodejs服务器上有一个socket.on('My_Event') ,我希望通过.emit('My_Event')从服务器的其他地方触发该事件。 我的目标是向客户端广播一些通知数据。 服务器端 – app.js var app = express(), server = http.createServer(app), io = require('socket.io')(server); io.on('connection', function(socket){ socket.on('My_Event', function(data){ socket.volatile.emit('event', data); }); }); server.listen(config.listenPort, '0.0.0.0', 511, function() { // config.listenPort is already defined console.log('node Server – listening on port: ' + config.listenPort); }); 导出 – 我想要触发事件的模块 var io = require('socket.io')(); exports.addStrategy = function(app) […]

我如何自定义套接字重新连接url? 想要在重新连接url时添加一个请求参数

我想添加一个更多的请求参数重新连接url。 简单的连接url: http://192.168.0.91:8155/socket.io/?EIO=3&transport=polling&t=1426834118026-12&sid=6STHOzvQ1APcl0igAAAA 重新连接的url应该是: http://192.168.0.91:8155/socket.io/?EIO=3&transport=polling&t=1426834118026-12&sid=6STHOzvQ1APcl0igAAAA&token=xyz

如何将GoogleMaps标记广播到所有连接的套接字?

//CLIENT SIDE // This event listener will call addMarker() when the map is clicked. google.maps.event.addListener(map, 'click', function(event) { addMarker(event.latLng); socket.emit('marker', {'lat': markers[0].position.k, 'long': markers[0].position.D}); socket.emit('show-marker', addMarker); }); } //CLIENT SIDE // Add a marker to the map and push to the array. function addMarker(location) { clearMarkers(); markers = []; var marker = new google.maps.Marker({ position: […]

socket.io保持断开连接,即使我尝试重新连接之后? 为什么?

socket = 'what'; //I do this when person clicks connect: if (socket == 'what') { socket = io.connect(); } else if (socket == null) { socket = io.connect(); socket = socket.socket.reconnect(); } //I do other stuff with webrtc and socket. //then when person clicks disconnect, I do: socket.disconnect(); socket = null; 我不想写所有的代码,因为它有很多,我尽量保持这个简单。 基本上,单击断开连接后,套接字保持断开状态。 但是,如果我再次单击连接,套接字仍然保持断开连接,因为我console.log它说,套接字disconnect = […]

每次更新数据库时,如何通过套接字io发送数据?

我正在build立一个系统,我有一个独立的pipe理仪表板与客户端界面。 前端是build立在angularjs上的,我在后台使用了一个样板的Node.js / Express服务器,我已经连接到一个MySql数据库。 每当客户端从客户端接口提交新的信息时,就将其提交给服务器,由路由器路由到控制器,控制器将数据传递给模型并上传到数据库。 我想要做的是每次调用控制器来处理请求,请求完成后,我想通过socket.io发送新的数据到pipe理仪表板。 我的挑战是我不知道如何从控制器内访问sockets? 任何帮助将不胜感激!

连接build立后如何运行JavaScript代码?

作为一个Node.js新手我试图改变与 Nick Anastasov的Node.js和Socket.io示例的智能手机远程控制,以便不需要密码。 在原始源代码中, app.js文件在input一个web表单并且script.js开始它的主要任务之后发送{ access : 'granted' } ,例如取消网页: socket.on('access', function(data) { if (data.access === "granted") { // XXX Tried removing this line blurredElements.removeClass('blurred'); form.hide(); $(window).on('hashchange', function() { // …. }); socket.on('navigate', function(data) { // …. }); } }); 我已经改变了app.js,所以它根本不会发出access 。 然后,我尝试从script.js中删除只有行if (data.access === "granted") ,但这当然没有奏效:网页保持模糊,因为没有接收到事件了(不granted也不denied )。 我的问题是:我应该如何改变上面的代码,以便连接build立后运行? 我应该使用socket.on('connect')或socket.on('connection')或是同样的问题(因为没有stringconnect正在发送)? 更新: 正如Brad所build议的(谢谢!)我已经将script.js中的string从“access”改为“connection”,但是网页保持模糊 – 这里是完整的源代码: $(function() […]

从项目的任何位置获取socket.io命名空间

在我的REST调用和一些数据库插入之后,我想通过socket.io向前端发出一个新的通知,如下所示: socket.broadcast.emit('send notification', notification); 由于我这样做的function是通过REST而不是通过socket.io触发的,我没有variables“套接字”。 我起初以为我可以得到'io' var io = require('socket.io') // or like: require('socket.io')(3000) 从这里我想我可以得到像这样的名字空间: var nsp = io.of('/notification-list'); nsp.on('connection', function (socket) { … } 但io似乎是未定义的(或者如果我使用它与端口3000我得到EADDRINUSE,因为显然socket.io连接到127.0.0.1:3000 这可能是一个非常愚蠢的问题,但由于我不能自己弄清楚:我怎样才能让socket准备在这个函数中使用? 任何帮助将非常感激! 编辑: 我试过friend00的解决scheme,但我仍然无法弄清楚如何做到这一点。 在我的server.js我创build服务器和导入我的socketIO这样的东西: var server = http.createServer(app).listen(app.get('port'), function () { }); require('./socketio_listener/socketIoListener')(server); 那么我的socketIoListener.js var sockio = require("socket.io"); var io; function initIO(server) { if (!server) { throw new […]

Socket.IO发出对象的Javascript

我不能发射客户端到服务器的对象..这是我的客户端上的代码 var foo = { name: xxx, type: mytype }; cc.log(foo); socket.emit('test', foo); 错误 JS: [object Object] JSB SocketIO.emit method called jsb: ERROR: File /Users/xxx/Sites/socketIO/frameworks/js-bindings/bindings/manual/network/jsb_socketio.cpp: Line: 272, Function: js_cocos2dx_SocketIO_emit Error processing arguments