Articles of websocket

意外的回应码:200

我想学习如何做一个基于networking的实时多人游戏 ,最近,我发现了这个,并尝试了它。 花了我很多时间来了解它,因为我没有js,websockets和节点的背景。 无论如何,我已经做了博客的大部分,但我一直得到这个错误。 以下错误显示在JavaScript控制台上: WebSocket连接到'ws://localhost/socket.io/?EIO = 2&transport = websocket'失败:WebSocket握手期间出错:意外的响应代码:200 我已经启动了游戏服务器: C:\xampp\htdocs\node game.js ,它只显示像这样的_ ,一个下划线闪烁。 茫然无知,但我已经阅读了与问题类似的问题,他们说这样的问题已经在起作用了,但不仅仅是展示了一件不是什么坏事。 如果有人知道如何解决这个问题,请回复。 这将是非常感激。

有没有一个推荐的方式,良好的做法,以文件的websockets?

我正在编写一个严重依赖于socket.io的应用程序。 我想提供由我的服务器处理的事件的文档,以帮助开发其前端部分。 我知道如何文档的HTTP API端点(例如与大招),但不知道如何正确使用socket.io / websockets做到这一点。 我有websocket房间的forms: – 'player /' – 'land /' 我有像这样的事件: socket.on('land/join', (landId) => { socket.emit('land/join success') }) 当然,有时候,而不是普通的套接字,我只是将事件发送到给定的房间,就像上面一样,还有两件事情发生: socket.join('land/<id>') io.to('land/<id>').emit('new message', message) 我想logging以上所有内容。 客户端和服务器端事件及其参数。

websocket问题:无法连接到node.js服务器

我已经得到了一个node.js服务器,运行express,我试图build立一个使用socket.io服务器端和chrome 12客户端的websocket连接。 当我尝试连接时,socket.io输出一条debugging消息,说“销毁nonsocket.io升级”,并在我的连接处理程序中的代码不运行。 同样在客户端,我的套接字的readyState是2(CLOSING)。 readyState的套接字从0更改为2

连接到Azure移动服务上托pipe的Socket.IO服务器返回错误

我尝试使用启动脚本连接到Azure移动服务的扩展文件夹中托pipe的Socket.IO服务器,但我无法这样做,并且收到错误消息: "WebSocket connection to 'ws://mymobileservice.azure-mobile.net/extensions/socket.io/?EIO=2&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 503" 我正在使用端口80与“扩展/ socket.io”的path我也用端口443与安全的连接,并已经产生了相同的错误。 我在正确的轨道上? 任何帮助是极大的赞赏。

nodejs:永远没有响应

所以我知道,这不是最聪明的想法,但我更新nodejs到“0.10”版本,而服务器仍然永远运行。 现在当我尝试input时 $ forever list 要么 $ forever stopall 要么 $ forever restartall 它什么都不做。 无论如何 – $ forever –help 仍然显示帮助菜单,但所有操作都不起作用。 而我的nodejs服务器仍然在响应! 有什么方法可以用火永远杀死吗?

WebRTC是正确的吗? (实时多人游戏)

想象一下,我想用HTML5(客户端)和node.js(服务器)创build一个实时多人游戏。 我需要将数据从服务器传输到客户端,反之亦然。 在本地应用程序中,我会使用UDP来获取大多数数据(玩家位置,…),因为它比TCP更快,而且在丢失的时候没有任何危险。 在HTML5我可以(仅)使用WebSockets 。 WebSocket在TCP之上,因此速度不够好,性能不错。 我听说过WebRTC ,但我不知道这是否可以解决这个问题。 有人有经验吗? (我知道,WebRTC仍然不支持大多数浏览器,但这对我来说并不重要。)

有什么更好的:WebSocket节点或WS? 有没有标准的nodejs websockets接口?

我想从socket.io转移到常规的websockets,以利用二进制数据传输,并摆脱base64编码。 好像有两个主要的nodejs websocket库,都在github上: Worlize / WebSocket的节点 einaros / WS 两者都似乎得到定期更新,都声称是支持RFC-6455标准。 有没有人有经验与谁可以分享经验和/或提出build议这两个或两个? 还是有人知道我在哪里可以find他们最近的比较? 另外有没有任何一个官方的服务器端Websocket接口标准的计划? 这两个库似乎有不同的API。 我确实发现了这一点 ,但是对于客户端来说显然是明显的,并且比RFC标准的date还要新。 我一直在浏览Googlesearch的各种变化,我可以想到的,以及许多相关的StackOverflow问题,但似乎没有人回答我的问题,甚至谷歌关于这个主题的最好结果都是过时了几年。 一些相关但不足的StackOverflow线程包括: 其中-网页套接字库使用的与-节点-JS 是-的WebSockets,真的-意味着,待处理按networking服务器 networkingsockets的服务器端的实现换的NodeJS

从Meteor.js打开一个Websocket连接

我们怎样才能从Meteor打开一个Websockets连接? 我们可以做些什么: ws = new WebSocket('ws://localhost/path'); ws.on('open', function() { ws.send('something'); }); ws.on('message', function(message) { console.log('received: %s', message); }); 错误: ReferenceError: WebSocket is not defined 使用socket.io npm包 var io = Meteor.require('socket.io') var socket = io.connect('http://localhost'); 错误: TypeError: Object #<Object> has no method 'connect' 使用ws npm包 var WebSocket = Meteor.require('ws'); var ws = new WebSocket('ws://localhost'); 错误: Error: […]

如何在Socket.io/express-sessions中的授权事件上访问/保存会话数据?

我使用Socket.io设置websocket,并在node.js服务器上表示4个框架。 我正在尝试使用我的websocket时为我的用户执行授权步骤。 当用户连接时,令牌作为查询值传递给服务器。 在服务器级别,我查询数据库以查找与传递的令牌相匹配的会话。 如果find一个会话,我会做其他一些检查来确保令牌不被劫持。 问题 会话数据似乎在每个页面重新加载清除。 或者服务器无法将sessionId链接到创build它的用户,所以每次都会生成一个新的会话。 我很困惑如何访问会话variables“如果他们被设置”。 我的代码的问题 当用户重新加载他/她的页面/客户端时,会话数据将在新请求中变得不确定。 会话是好的,直到页面刷新这是我的问题。 即使在用户刷新页面之后,我也需要保持活动状态。 问题 如何确保会话数据不会在每个页面上被清除刷新? 这是我的授权码 io.set('authorization', function (handshakeData, accept) { var session = handshakeData.session || {}; //This is always undefined! console.log('Session Data:' + session.icwsSessionId); //var cookies = handshakeData.headers.cookie; var token = handshakeData._query.tokenId || ''; //console.log('Token: ' + token); if(!token){ console.log('Log: token was not found'); […]

将getUserMediastream式传输到服务器

我是二进制数据和getUserMedia的新手,如何将getUserMedia(video/audio)stream式传输到服务器,然后为其他连接准备stream(video/audio)? 我最初的想法是通过websockets发送数据,然后将数据写入文件(mp4),如下所示: getUserMedia –>(websockets)–> server –>(file.mp4)–> video.src 。 我一直在看MediaStreamRecorder ,我可以像这样发送一个缓冲区: multiStreamRecorder.ondataavailable = function (blobs) { socket.emit('blobs', blobs) }; 在我得到的服务器上 { audio: <Buffer 52 49 46 46 2c 10 04 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 01 00 44 ac 00 00 10 b1 02 00 02 […]