Tag: socket.io

用Node.JS构build的多人游戏JavaScript游戏 – 分离玩家

我有一个问题,我找不到答案。 我正在尝试用Node.JS和Socket.IO构build一个多人游戏。 我已经build立了一个聊天室作为我的第一个实验,所以我已经广播工作等。现在我正处在我想要与Canvas合作的地步。 我遇到的问题是让我的头多个和独立的球员。 我知道每个玩家都会把他们的x,y线发送给服务器,服务器会把这些线发送出去,但是客户怎么知道要显示多less个玩家,我猜测他们必须存储在某个数组中。

与风帆js使用socket.io

虽然以前有很好的使用sockets的文档,感谢Irl Nathon的Sails Cast系列 。 在v0.11中 ,事情发生了变化 ,风帆团队正在封装和掩盖 socket.io例程。 风帆网站, 例如SailsS​​ocket是疯狂的简洁,说什么做,但不是如何或在哪里做,或者如果我需要npm或凉亭的东西。 尝试使用在sails.config.sockets站点上讨论的sails.config.sockets特别令人沮丧。 我甚至无法在我的v0.11目录中find它。 首先,我想知道如何以及在哪里创build我自己的响应io.socket.get或.post或其他。 现在当我做一个像这样的东西: `io.socket.request({ method: 'get', url: '/sites/2', params: {}, headers: {} },function serverResponded(body, JWR){console.log("Body: ", JSON.stringify(body,null, 4)); console.log(' JWR: ', JWR.body)});' 我回头: undefined VM1149:7 "Not implemented in core yet" VM1149:7 JWR: Not implemented in core yet 我可以在sails控制台中看到正在调用的网站,但没有发现任何问题。 我相信这是因为我已经定义了我自己的路线,并在我的站点控制器中有我自己的find()函数,我手动需要将某些内容推送到服务器端套接字中。 但我很困惑,我怎么在同一个控制器例程中用HTTP调用整个页面,而用socket.io调用表格。 我在哪里写我自己的低级别的socket.io例程,可以从网页上调用? 我仍然在app.js文件中做? 风帆铸造表明它在那里完成,但事情已经改变了。

socket.io与快递

我有一个项目,我用快递socket.io, 所以我需要(我试过)是广播一条消息,但从一个明确的行动。 这是可能的,我不知道如何得到一个参考发送或广播。 app.get('/', function(req, res) { //i need to send messages from here }); 其他的东西,如同时使用快递+ socket.io正在与我:)

Websockets和二进制数据

据我所知websockets支持二进制数据传输。 二进制支持错误已修复 。 那么,有没有支持二进制数据传输的websocket服务器? Socket.io似乎错过了这个机会。 也许还有其他一些?

套接字build立后的socket.ioauthentication

我正在做一个小型的多人游戏。 我想介绍身份validation。 我正在使用Node.js和Socket.io。 当用户到达那个主页时 – 我希望他们join游戏,不pipe他们是否login – 但是他们将无法做任何事情(只有监视)。 那么我怎么能在已经打开的套接字上authentication用户呢? 如果他们离开网站并返回,我还可以保持身份validation吗? 你可以通过networking套接字传递cookie吗? 编辑 进一步我的问题。 我有一个可能的想法是提供websocket连接,然后当他们尝试login时,它将用户名和密码作为消息传递给websocket。 client.on('onLogin', loginfunction); 然后,我可以获取用户名和密码,检查数据库,然后获取套接字的会话标识并将其传递到某个地方,以便向该用户validation会话。 这是安全的吗? 我还可以在sockets上实现一个cookie,以便他们可以回来吗? socket.io中有没有什么办法说明套接字现在已经过validation,而不是手动检查每个收到的消息? 干杯

反应本地和socket.io节点不工作

下面是我尝试连接到我的节点websocket后端的原始组件和节点server.js代码。 我的反应代码与服务器在同一台计算机上运行。 我在这里发现了很多不同的答案,而且github,我都无法工作。 我也发现这个问题从来没有答案, 这个问题有一个答案,我不能工作(一年前被问) 我发现这篇文章,并试图根据这些指导方针修改我的代码,但是这不起作用。 反应代码 import React from 'react'; import { StyleSheet, Text, View, Image } from 'react-native'; const io = require('socket.io-client/socket.io'); let socket = io('http://localhost:3000'); export default class App extends React.Component { constructor(props) { super(props); console.log(socket); } render() { return ( <View> <Text>Websocket</Text> </View> ); } } server.js const express = require('express'); […]

无法从支持Socket.IO的cookie中获取快速会话ID

我在Node中有一个典型的Web应用程序,它使用Express框架和会话中间件。 我也为我的应用程序的某些dynamic部分使用Socket.io(目前,这是一个聊天机制,但这是切线)。 我已经能够自己成功地build立会话和socket.io,但是希望将它们组合(EG:将套接字聊天消息与用户帐户关联而不碰到数据库)。 应该注意(我可以看到这是一个可能的问题点),我在不同的端口上运行两个快速服务器:一个用于常规HTTP通信,另一个用于HTTPS通信。 但是,我正在使两台服务器进行理想的configuration并共享相同的会话存储。 会话确实在http和https页面之间持续存在。 会话最初是通过HTTPS提供的页面设置的,而socket.io页面是vanilla HTTP。 我正在按照这里的指南来实现我正在寻找关于集成socket.io和会话。 但是,在授权函数中,尽pipe我的应用程序的基于会话的部分按预期工作,data.headers.cookie从不设置。 更奇怪的是,在设置会话之后,如果我在浏览器中执行了console.log(document.cookie) ,我得到一个空string,但是当我用Firefox开发人员工具栏查看cookie时,有一个SID cookie的快递和连接。 这里是服务器代码的相关部分: var config = { ip : "127.0.0.1", httpPort : 2031, httpsPort : 2032 }; var utils = require("./utils"), express = require('express'), fs = require('fs'), parseCookie = require('./node_modules/express/node_modules/connect').utils.parseCookie, routes = require('./routes')(config); var httpsOpts = { key : fs.readFileSync("cert/server-key.pem").toString(), cert: fs.readFileSync("cert/server-cert.pem").toString() }; var […]

Node.js HTTPS安全错误

我正在尝试创build一个安全的node.js服务器来使用我的站点使用ssl(https)。 const crypto = require('crypto'), fs = require("fs"), http = require("http"); var privateKey = fs.readFileSync('/home/privatekey.pem'); var certificate = fs.readFileSync('/home/certificate.pem'); var credentials = crypto.createCredentials({key: privateKey.toString(), cert: certificate.toString()}); var handler = function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }; var server = http.createServer(); server.setSecure(credentials); server.addListener("request", handler); server.listen(8084); 但是当我启动我的服务器时,出现以下错误: node.js:116 throw e; // process.nextTick error, or […]

Socket.IO和Firebase有什么区别?

我在Node.js上观看了一个codechool教程,他们在教程中使用Socket.IO模仿了一个聊天服务器。 我也有一个印象,Firebase做同样的事情。 两者有什么区别,如果有的话?

我怎样才能基于websocket的Node.js应用程序?

我正在testing使用socket.io和Node.js编写的websockets应用程序的可伸缩性。 我想强调testing和基准性能。 我可以使用哪些工具? 到目前为止,我已经看到了wsbench,但我想探索任何替代品。