Tag: websocket

游戏中的大滞后node.js和socket.io(实时)

我有一个与socket.io很大的问题,这使得我的实时游戏无法播放。 我希望我的node.js服务器每20ms向每个连接的客户端发送数据(每个套接字) 但是我注意到客户端每20ms收不到一次,每100-200ms多收一次。 这使得游戏完全无法玩(非常大的滞后) 本地它工作得很好。 你能帮我吗 ? 这是我的函数发送数据(服务器端)的一段代码: function sendData() { playersList.forEach( (player) => { let data = []; // code which add data to "data" variable socketsList[player.id].emit('refreshGame', JSON.stringify(data)); }); setTimeout(sendData, 20); } sendData();

在将连接升级到WebSocket之前,通过JWT对用户进行身份validation

我使用这个库的服务器上使用节点v8.6.0。 我不会使用Socket.io。 我希望用户通过GET请求发送(即通过自定义头)一个JWT,然后这个请求会被拒绝(他们没有被授权),并且阻止一个websocket被build立,或者在他们发送一个有效的智威汤逊,我想GET请求被升级到一个websocket。 axios.get('http://localhost:3001/upgrade', { headers: { Authorization: 'bearer jwtGoesHere', Upgrade: 'websocket', Connection: 'Upgrade', 'Sec-WebSocket-Key': 'dGhlIHNhbXBsZSBub25jZQ==', 'Sec-WebSocket-Version': 13 } }) 但是,没有办法发送自定义标题。 如果我尝试发送所需的标题升级到websocket,我得到一个错误: Refused to set unsafe header 。 环顾networking,我发现当尝试build立websocket连接时,有两种方法可以发送某种信息: 这个和这个 。 然而,他们对我或者至less是非标准的解决scheme似乎有点不好意思(通过这种方式发送智威汤逊可以吗?)。 目前,这就是我的代码在服务器上的样子(使用TypeScript): const webSockets: any = {}; const webSocketServer: any = new WebSocket.Server({ noServer: true }); server.on('upgrade', (request: any, socket: any, head: any) => […]

NodeJS与Websocket混合使用TCP套接字

我有一个NodeJS TCP套接字服务器正在运行,我想添加对websockets的支持。 有没有人试图在一台服务器中混合两个 看来你可以创buildHTTP服务器,实现websocket升级握手,然后把套接字交给TCP套接字服务器。 这是正确的做法吗? 我考虑使用socket.io,但似乎会切断TCP套接字。

将Web套接字限制为LANnetworking

是否有可能限制HTML5 WebSocket到局域网? 例如,我将在http://example.com上有一个实时网站,同一本地networking上的所有用户都需要被视为一个组。 同样,这些相同的用户将无法看到或影响局域网外用户的任何操作。 我已经研究过诸如NowJS这样的包装器,并且已经内置了对“groups”的支持,但是我不确定这是否是我所追求的。 有任何想法吗?

错误:node.js没有用opensslencryption支持编译

我是node.js的新手,但一直试图让一个简单的websockets服务器运行。 当我尝试运行示例服务器时,出现错误:“错误:node.js未使用openssl crypto支持进行编译”。 当我运行./configure时,我得到: 检查程序g ++或c ++:/ usr / bin / g ++ 检查程序cpp:/ usr / bin / cpp 检查程序ar:/ usr / bin / ar 检查程序ranlib:/ usr / bin / ranlib 检查g ++:好的 检查程序gcc或cc:/ usr / bin / gcc 检查程序ar:/ usr / bin / ar 检查程序ranlib:/ usr / bin / ranlib 检查gcc:好的 检查库dl:是的 检查openssl:是的 检查库util:是的 […]

Windows上的nodejs和websockets

我浏览了websockets,nodejs和socket.io上的许多post,并找不到这个问题的答案。 我想build立一个使用nodejs开发websockets应用程序的开发环境。 我宁愿运行Windows,因为我有运行Windows的物理硬件,我非常适应VS,但是如果需要,我可以设置一个运行nginx或apache的Linux机器。 我已经探索了iisnode,它对node.js有很好的支持,但自从IIS 7以来不支持websockets。*不支持websocket。 我也知道Windows 8支持websockets,但是我需要Server 2008 R2和Windows 7来处理其他任务,所以我想避免这种情况发生。 对于其他使用nodejs的websockets开发人员来说,哪种方法对于有或没有windows作为服务器开发环境有效?

是否有可能在不同的networking中创build点对点连接?

我想创build2个nodejs客户端之间的点对点连接。 使用websocket(dnode) 这里是极限: nodejs客户端运行在两台不同的networking上。 它们在NAT或防火墙后面没有静态IP(192.168.1.100 && 192.168.2.200) 没有权限更改路由器的映射。 在公共networking中只有静态Web服务器。 (可以通过人工更改文件) 可以在PC上安装应用程序(win) 可能吗? 谢谢

如何在nodejs中实现通知系统?

我正在做关于新消息的通知。 我想我需要为每个用户打开套接字,服务器会在发送新消息时发送通知。 我想使用socket.io和redis pub / sub。 当用户发送消息时,它将把这个事件发布给redis和nodejs服务器,这个服务器将成为订户,并且会通知客户有关新消息。 但在这种情况下,消息会立即从队列中删除,并且当用户更新接收到的页面时,会通知所有消息都被读取,因为队列是空的,但是实际上不会读取消息。 如何决定这个问题?

phonegap中的Websockets与使用socket.io的应用程序

我们正在开发一个phonegap应用程序,并使用node.js和socket.io结合使用。 我们知道websockets不被电话支持,但是有一些方法可以使它们工作(https://github.com/anismiles/websocket-android-phonegap和http://anismiles.wordpress.com/2011 / 02/03 / websocket-support-in-android%E2%80%99s-phonegap-apps / ) 唯一的问题是,这些例子使它们通过覆盖通常由socket.io为你照顾的东西来工作。 我的问题:当你的应用程序使用socket.io时,有什么办法可以在phonegap中使用websockets吗? 谢谢。

Websockets和PHP

我开始考虑websockets作为一个解决scheme来取代我正在试运行的新版本PHP应用程序中的长轮询。 我有几个问题,我想知道人们能否帮助我。 一个Nodejs服务器可以调用PHP,如果这样做不会像刚刚通过Apache一样在连接方面遭受同样的缺点? 我们都知道nodejs是非阻塞的,Apache等不是,但是如果Nodejs只是在自己的程序中调用一个PHP服务器,那么这不是一个类似的方式吗? PHP和websockets是一个很好的匹配? 除了socketio之外,还有什么好的js库,显然只能和Nodejs一起使用? 有没有人发现一个很好的教程,使用websockets和PHP后端也许使用像棘轮PHP库,可能会帮助我的方式吗? 想法将非常感激。