Articles of socket.io 1.0

socket.io v0.9和v1是否兼容?

socket.io v0.9和v1是否兼容? 运行v1的客户端可以连接到运行v0.9的服务器,反之亦然?

socket.io延迟问题(websockets)

我们正在计划使用node.js创build一个实时SPA,我们正在testing延迟,请通过以下链接: http://173.200.239.98:6060/ 有2个区域…当用户将鼠标hover在右侧的textarea上时,我们在左侧的textarea中打印延迟,延迟以毫秒为单位。 问题是延迟从0.3秒到6秒..这是正常的networking套接字? 还是我做错了什么? 注: – 服务器在底特律,美国,我从印度钦奈访问服务器。 源代码: <!DOCTYPE html> <html> <head> <meta charset='utf-8'/> </head> <body style='margin:0px' > <table> <tr> <th>latency in milliseconds</th> <th>hover to trigger message</th> </tr> <tr> <td><textarea id='message' name='message' rows="20" cols="20" ></textarea></td> <td><textarea id='hover' name='hover' rows="20" cols="20" ></textarea></td> </tr> </table> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script src="/socket.io/socket.io.js"></script> <script> jQuery(function($){ var socket = io.connect(); var […]

客户端Socket.io与1.0版兼容的Android实现 – 初学者

感谢您阅读我的问题。 (恳求道歉我的坏英语) 我试图用socket.io开发一个简单的android原型。 我有一个服务器node.js与socket.io(工作),现在我开发客户端(有问题)。 我已经下载了zip: https : //github.com/nkzawa/socket.io-client.java在Eclipse上,我已经做了一个右键点击我的projet /构buildpath/添加外部存档,我select了下载的文件。 客户代码: 包com.example.temp_test; import java.net.URISyntaxException; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Socket socket; try { socket = IO.socket("XXXX:8080"); socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { @Override public void call(Object… args) { socket.emit("message", "hi"); socket.disconnect(); } }).on("event", […]

在socket.io上捕获所有来自客户端的事件

我在我的项目上使用Socket.io 1.0,我想绑定服务器上的任何事件,如: socket.on('*') 所以我可以在我的客户端上做到这一点: socket.emit('forum.post') 服务器将调用对象“论坛”的function“发布”。 这将是我的项目有一个更好的组织。 用我在网上find的一些方法,我会这样做来覆盖socket.io函数: var onevent = socket.onevent; socket.onevent = function() { console.log('***','on',Array.prototype.slice.call(arguments)); onevent.apply(socket, arguments); }; 但是socket.on('*')永远不会被调用。

节点套接字io计时器实现

我正在节点和套接字中创build一个绘图/猜测游戏。 简单地说:我有一个class级, 游戏 (扩展房间)和一个class级(每场10个)。 每轮用户被指定为抽屉,猜测者有45秒的时间来猜测这个单词。 当第一次猜测,如果定时器高于20秒,定时器减less到20秒。 我当然不确定,但是我是这样开始的: 阶级: function Round(id, game){ var ROUNDTIME = 45, timer = new Date(); this.id = id; this.game = game; this.endTime = timer.setSeconds(timer.getSeconds() + ROUNDTIME); … } class级游戏: function Game(){ this.MAX_ROUNDS = 10; this.rounds = []; this.currentRound = null; … } Game.prototype.start = function(){ this.nextRound; } Game.prototype.nextRound = function(){ if(this.rounds.length […]

如何通过使用Node的HTTPS提供socket.io?

问题: 我只是成功地得到了我的Node.js服务器正常工作,并与SSL安装,很好。 但是我看到这个: [阻止] https://www.mywebsite.com/上的页面通过HTTPS加载,但是从http://54.xxx.xxx.77:4546 / socket.io / socket.io运行不安全的内容.js ':这个内容也应该通过HTTPS加载。 我试着把socket.io的URL改为https ,但是这当然不起作用,因为socket.io坚持提供它自己生成的文件,这个过程我不认为我能控制。 我可以更改socket.io侦听的端口,就是这样。 问题是: 那么我如何安全地服务socket.io(1.0)? 代码: var port = 4546; var io = require('/node_modules/socket.io')(port); 作为一个方面说明,我认为socket.io(它的来回通信)应该正常运行HTTPS,没有任何额外的工作; 我在某处读过 也许有人可以证实。 Web套接字的通信必须安全地传输。

通过angularjs和nodejs socket.io获取用户通知

我有两个login页面一个医生和一个pipe理员。 这里pipe理员可以添加患者。 如果pipe理员添加了新的病人,医生在他login后想要得到新的通知。假设pipe理员添加了10个病人,医生希望在消息框中看到新增病人的数量。 像医生一样,通过在消息符号中看到10个数字来理解。 这里使用的是socket.io,angularjs和nodejs。

Node.js OpenShift EACCESS错误

我不能让应用程序正常启动,不断得到EACCESS错误: Error: listen EACCES 代码如下: var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080 var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(server_port); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); […]

模块化node.js / socket.io / express应用程序的最佳方法

我正在使用Node.JS正确创build一个使用Express和Socket.io的应用程序。 随着时间的推移,处理一个文件变得越来越困难,我正在移动某些东西,我知道如何但是想知道如何做到这一点的最佳方法。 我有一个私人领域的构造类似于: privateArea.js function privateArea(props) { this.id = props.id; this.name = props.name; this.users = []; } privateArea.prototype.addUser = function(socketId) { this.users.push(socketId); }; module.exports = privateArea; 我想这也有访问的socket.iovariables设置为在一个单独的sockets.js文件中使用,可以通过主app.js和一个单独的文件express.js 所以我想要的结构如下: project | app.js – joins it all together | express.js – initialises and manages all express routing | privateArea.js – constructor for private areas – must be […]

Node.js – 处理数百个用户首选项

我正在学习node.js(我的网站背景主要是PHP),我很喜欢它,但我有以下问题。 在PHP和其他类似的语言中,每个请求都是脚本的一次性执行。 所有的用户首选项可以加载,等可以加载,没有问题,因为一旦脚本执行完成,所有的资源将被释放。 在node.js中,特别是在像chatroom这样的长时间运行的进程中(我使用的是socket.io),你将有成千上万的用户被一个进程处理。 假设我有一个200人的聊天室,并且如果消息来自用户认为是“朋友”的参与者,我想让消息突出显示,那么我将不得不循环200个用户以查看用户是否是朋友或不(特别是如果聊天只能发送给朋友,而不是公开)。 这不是真的很慢,特别是随着时间的推移? 有什么我错过了吗? 在我的小testing中,随着用户数量和消息数量的增加,服务器的响应能力明显下降。