Articles of engine.io

与engine.io的Nodejs服务器/客户端套接字连接

我正试图得到一个简单的套接字连接之间build立一个engine.io套接字监听器是监听端口8888和一个javascript客户端运行在一个普通的index.html 它看起来相当直接的完成这项任务,但不知何故,我无法得到一个xhr轮询客户端正确连接。 它连接,因为客户端号码增加,但onopen事件永远不会在客户端触发。 相反,服务器端的客户端数量不断增加,客户端永远不会收到来自服务器的任何消息 – 服务器也不会从客户端收到任何消息。 这一切都与websocket运输完美,但我需要xhr-polling工作以及。 app.js var engine = require('engine.io'); var server = engine.listen(8888); server.on('connection', function (socket) { console.log(server.clientsCount); socket.send('never received by client'); // << xhr-polling client does not receive socket.on('message', function (msg) { if ('echo' == msg) socket.send(msg); }); }); 的index.html <html> <head> <script src="engine.io.js"></script> <script> var socket = eio('ws://localhost:8888/'); << starts […]

Socket.io / Node.js:来自客户端的套接字连接上的“值超出范围”

我正在使用ARMv5TE处理器上的busybox linux上运行nodejs / socket.io / express。 我有nodejs启动并运行,下面的代码运行没有错误。 var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(80); 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); }); }); 直到我尝试通过websocket从客户端连接。 从浏览器(加载客户端脚本socket.io.js ), var socket = io.connect('ws://192.168.1.8:3000'); 或者var […]

Web套接字和Flash套接字客户端连接到一个Node.js

我有问题连接Flash客户端到Node.js服务器。 小故事 : 我第一次构build一个应该由Web客户端(WebSocket)以及Flash客户端(Socket)使用的Node.js服务器。 当然,networking客户端就像一个魅力,但我无法克服闪存。 我得到SECURITY_ERROR。 经过一天的研究,我认为这是因为政策文件没有被加载。 想法(primus在engine.io顶部)? 长篇小说 : 我使用Primus,因为我想我会需要它,因为我有networkingsockets和闪光灯sockets来处理。 不确定这是否准确? 🙂 我使用Engine.io作为“变换器/传输器” – 图层使用的主要框架。 我不会讨论标准的Web客户端(使用Chrome和primus-client),因为它很容易设置。 我在AS3中使用简单和标准的套接字: _socket = new Socket(); _socket.addEventListener(Event.CONNECT, onSocketConnect); //… _socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); _socket.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _socket.connect('localhost', '1337); 在Flash IDE中构build它时,它将转到onSocketConnect函数,但是如果我尝试向onSocketConnect写入任何内容,则会断开连接。 如果我从Web浏览器运行这个,我进入onSecurityError方法。 我必须说,我没有得到任何在节点控制台的痕迹! primus.on('connection', function connection(spark) { console.log('new connection'); // never gets logged! 据我所知,当策略文件出现错误时会引发安全错误,所以我开始寻找解决scheme。 我已经在线阅读了很多东西,最常见的解决scheme是简单的使用socket.io ,所以叫做FlashSocket.IO 。 我尝试过实现它,但它太老了,有些代码是一种失踪,我终于从hurlant图书馆得到一些错误 – 我无法得到它的工作。 我还看到一些名为policy节点包,它运行单独的服务器到服务器的策略文件。 我尝试在其中添加一个flashsocket transport数组 […]

Engine.IO教程需要

嗨,我正在尝试使用Engine.IO。 正如StackOverflow所述,它应该是Socket.IO的低级版本。 也应该是更好,更新。 另外它应该给我能够轻松地在浏览器客户端和Node.js服务器之间交换消息。 卫生署。 我从上到下读了这两页: https://github.com/LearnBoost/engine.io https://github.com/learnboost/engine.io-client 但这并没有帮助,这些手册似乎是为那些已经知道如何使用该技术的人写的,而不是为了试图学习它的人而写的。 即使是基本的部分都没有了。 客户端脚本应该如何到达浏览器? 什么是我应该在浏览器中input的“hello world”的登陆地址? 一步一步的指令开始? 请帮忙! 当你试图学习这样的东西时,这并不容易! 这就是客户端脚本应该是的: <script src="/path/to/engine.io.js"></script> <script> var socket = new eio.Socket('ws://localhost/'); socket.on('open', function () { socket.on('message', function (data) { }); socket.on('close', function () { }); }); </script> 但现在是什么? index.html的? 这是什么意思呢? 如何使用它? 现在这里是“服务器”部分: (A) Listening on a port var engine = require('engine.io') […]

我应该使用哪个node.js套接字引擎?

我正在开始一个项目,build立跨网站和Android应用程序的实时聊天应用程序。 由于我想阻止对各种API调用的连续轮询,我想使用websockets(我没有经验),在这个过程中,我认为学习node.js是个好主意。 所以我需要开始使用node.js的websockets lib。 为此我看到有相当多的选项列表。 我读到最多的东西是socket.io。 围绕着,我也读了一下,socket.io v0.9很麻烦,而且我看到多个引用关于engine.io是来自socket.io版本1.0的socket.io的新后端,据推测它是“即将到来的”。 所有这些消息都是从2012年开始的( 例如这个 ),当我看看socket.io网站时 ,我发现他们仍然是v0.9,这让我想起了几件事情: socket.io仍在积极开发中? 是socket.io一个可行的select,还是我需要驻留到另一个图书馆? 哪一个你会推荐轻松启动,或者现在通过使用net.Socket来实现node.js(例如使用net.Socket )? 所有的提示,欢迎!