Articles of socket.io

如何禁用websocket编写debugging信息

有没有办法禁用debug – websocket writing 5:::消息,不断出现在控制台,当websocket发送的东西,消息是唠叨。

如何安装旧版本的express.js

如何安装正确版本的Express,并且在安装2.x之前是否必须卸载3.x? 这是我试图testing的教程: http : //psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/ 我用这个package.json: { "name": "mukhin_chat", "description": "example chat application with socket.io", "version": "0.0.1", "dependencies": { "express": "2.4.6", "socket.io": "0.8.4" } } 并使用以下命令: npm install -d 当我运行应用程序,我仍然得到的问题:…你是从Express 2.x迁移到3.x …

peerConnection.addIceCandidate错误:无效的string

我正在尝试实现仅限语音的WebRTC应用程序。 我在Chrome Version 29.0.1547.0 dev上运行它。 我的应用程序使用Socket.IO的信号机制。 peerConnection.addIceCandidate()给我这个错误: Uncaught SyntaxError: An invalid or illegal string was specified. 并分开, peerConnection.setRemoteDescription(); 给我这个错误: Uncaught TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object. 这是我的代码: SERVER (在CoffeeScript中) app = require("express")() server = require("http").createServer(app).listen(3000) io = require("socket.io").listen(server) app.get "/", (req, res) […]

旧版浏览器的Node.js / Socket.io中支持Web Socket

我已经使用c ++创build了一个Web Socket服务器,因为我们知道HTML 5支持Web Socket,并且我们有标准的Web Socket Java Script Api来与web套接字server.I能够使用Web Socket API连接到web Socket服务器。 由于只有新浏览器支持Web Socket Api。 IE version 10 Chrome version 16 Firefox version 6 Safari version 6.0 Opera version 12.10 我还需要提供对以下浏览器版本的支持 。 Web Socket Api支持的浏览器 IE version 7 Chrome version 14 Firefox version 4 Safari version 5.1 我听说过node.js和socket.io。 两者都支持 Web Socket API不支持浏览器 Internet Explorer 5.5+ […]

为什么Safari和Chrome上的Socket.io连接速度较慢?

我是真正的新手Node.js和Socket.io – 所以如果这是一个愚蠢的问题,请耐心等待。 我在Heroku上设置了一个非常基本的虚拟来testingSocket.io。 您只需点击一个button,所有连接的浏览器就会相应地看到一条消息。 当服务器在本地运行时,这工作得非常好。 现在,在Heroku上,我看到Safari和Chrome上的连接问题。 初始连接延迟了大约10秒钟,并且在第一次调用io.connect('http://myapp.heroku.com/')出现错误503。 在Firefox和Internet Explorer中,一切都非常顺利。 你可以在这里看到这个应用程序: http://sprain.ch/socketio/ 什么可能会导致这个问题的任何想法,以及如何解决它?

在不同的文件中分割节点应用程序

我正在用Socket.IO开发我的第一个Node.js应用程序,一切正常,但现在应用程序正在慢慢变大,我想将应用程序代码分成不同的文件,以便更好的维护。 例如,我在主文件中定义了所有的mongoose模式和路由。 下面是socket.IO连接的所有function。 但现在我想为模式有一个额外的文件,一个额外的路由文件和一个function。 当然,我意识到可以编写自己的模块或加载一个带有require的文件。 这对我来说是没有意义的,因为我不能使用像app,io或db这样的variables而不把它们变成全局variables。 如果我将它们传递给模块中的函数,我不能改变它们。 我错过了什么? 我想看一个例子,如何在不使用全局variables的情况下在实践中完成

Node.JS,Socket.IO和群集中的WebSocket握手不起作用

我在使用Node.js,socket.io和node.js集群对应用程序进行集群时遇到了问题。 我使用socket.io-redis来共享所有工作人员的信息,但不工作。 我的代码: var cluster = require('cluster'); var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', function(worker, code, signal) { console.log('worker ' + worker.process.pid + ' died'); }); } else { … var express = require("express"); //Server var server = express(); […]

WebSocket连接失败:在WebSocket握手期间出错:意外的响应代码:400

我正在尝试将Socket.io与Angular集成在一起,并且在从客户端到服务器端进行连接时遇到困难。 我已经看过其他相关的问题,但我的问题是本地发生的,所以没有中间的Web服务器。 这是我的服务器代码的样子: const app = express(); const server = http.createServer(app); const io = require('socket.io').listen(server); io.on('connection', function(socket) { socket.emit('greet', { hello: 'Hey, Mr.Client!' }); socket.on('respond', function(data) { console.log(data); }); socket.on('disconnect', function() { console.log('Socket disconnected'); }); }); 我使用Grunt按以下顺序加载客户端JavaScript文件: dist: { src: [ public/bower_components/angular/angular.min.js, … public/bower_components/socket.io-client/dist/socket.io.min.js, public/bower_components/angular-socket-io/socket.min.js, … ] } 然后在我的控制器中: function MyController($scope) { let socket = […]

如何检查本地socket.io连接?

我的应用程序是在浏览器,它连接到socket.io服务器,它工作正常,但是,当客户端断开一段时间(睡眠例如),连接将自动closures的服务器,这是socket.io的默认行为 如何在不刷新页面的情况下重新build立客户端连接? 有没有一种状态会告诉我,客户端的连接是closures的? 所以我必要时重新连接? 我不能依靠一个事件,我想我需要知道连接是否在本地简单的方式打开或closures..好?

如何将socket.io(在nodejs中)的事件处理程序绑定到我自己的作用域?

我在我的nodejs服务器中使用“socket.io”。 有没有办法在我的类/模块(在浏览器)范围内运行注册的事件function? … init: function() { this.socket = new io.Socket('localhost:3000'); //connect to localhost presently this.socket.on('connect', this.myConnect); }, myConnect: function() { // "this.socket" and "this.f" are unknown // this.socket.send({}); // this.f(); }, f: function() { // … } …