Tag: socket.io

socket.io – io.sockets.adapter对象?

我正在尝试使用socket.io并尝试构build一个多房间聊天应用程序。 我遵循的指南已过时使用前1.0.0套接字。 我试图find一个给定的房间连接的客户端列表。 谷歌search显示,我必须使用适配器。 但是,我找不到任何地方的文档。 我在git-hub文档中search它,但search没有返回适配器上的任何信息。 https://github.com/socketio/socket.io-client/blob/master/docs/API.md 有人能指出我正确的方向,在哪里我可以阅读更多关于适配器和相关的方法吗? 另外,如果你可以提供最新的socket.io文件,我将不胜感激。 谢谢。

如何确保所有玩家在socket.io问答游戏中同时显示问题?

我正在开发一个在客户端浏览器中运行的多人测验游戏。 它在服务器端使用socket.io和node.js,在客户端使用javascript。 从数据库中挑选问题并同时发送给每个玩家,但是较慢的互联网连接可能意味着他们将在不同的时间接收这些问题。 可能的scheme 发送每个问题的时间戳,告诉浏览器何时显示问题。 时间戳将是(发送时间+ x秒)来解决连接延迟。 但是,如果客户知道如何使用控制台,他们可以在问题到达时立即拦截问题,并在所有其他玩家之前看到。 那么我怎么能确保没有一个玩家有不公平的优势?

Angular不会在HTML中显示我的数组结果

我得到了我的angular度的问题…我目前正在与套接字io的一个简单的聊天广播,但为什么我的数组对象不会显示在套接字io捕获发射后的HTML 这是我的index.html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body ng-app='BaseModule'> <div ng-controller="ChatController"> <input type='number' name='sender' ng-model='sender' /> <input type='number' name='to' ng-model='to' /> <textarea name='message' ng-model='message'></textarea> <button type='button' ng-click='sendMessage()'>send it</button> <pre>{{ conversation }}</pre> </div> </body> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.js"></script> <script type="text/javascript" src="angular.min.js"></script> <script type="text/javascript" src="base.js"></script> <script></script> </html> 这里是我的base.js的代码 var app = angular.module('BaseModule', []); app.run(function($rootScope) […]

电子 – 独立节点js服务器

我试图用电子来进行问答游戏,客户可以在他们的手机上打开localhost:8888上的测验页面localhost:8888 。 问题是,你可以使用电子制作一个web服务器应用程序,并且运送encryption的server.js(express.js脚本),安装我的应用程序的用户不需要安装node.js? 我的应用程序可能是这样的: |—————————–| |QuizApp Window _ [] x| |—————————–| |Open 192.168.1.1:8888 | |to start game on your mobile | | | ——————————-

我的命令在节点js中的每个刷新页面重复

我在我的项目中使用节点js与expression框架和socket.io。 当我在浏览器(这个地址: http:// localhost:3001 /testing )加载testing页时,每一件事情都很好,并在服务器日志中打印“ 用户连接 ”,但当我再次刷新页面打印该消息两次和另一个刷新打印该消息三次,每刷新一次重复该消息。 我的代码有什么问题? 谢谢。 test.js var express = require('express'); var router = express.Router(); var io = require('../app'); router.get('/', function(req, res, next) { io.on('connection', function(socket){ console.log('a user connected'); }); res.render('test', { title: 'test' }); }); module.exports = router; app.js var express = require('express'); var path = require('path'); var favicon = […]

带有Express的Socket.IO不能使用https(Apache2 Ubuntu16.04)

我不是很有经验的SSL证书,我跳了一个人可以帮助我找出我做错了什么。 我正在尝试使用端口443(从中服务器客户端应用程序而不是NodeJS / Express / Socket.io应用程序)启用了SSL的Apache2来托pipe带有自己端口(*:1729)的NodeJS应用程序。 当我用http设置Express时,它工作正常,我的客户端应用程序没有错误地与NodeJS应用程序通信,但是当我使用https这样的express时: this.express = require('express'); this.app = this.express(); var https = require('https'); var fs = require('fs'); var sslPath = '/etc/letsencrypt/live/yourdomain.example.com/'; var options = { key: fs.readFileSync(sslPath + 'privkey.pem'), cert: fs.readFileSync(sslPath + 'fullchain.pem') }; this.server = https.createServer(options, this.app); this.io = require('socket.io').listen(this.server); this.server.listen(1729); 当我的客户端应用程序尝试连接时,我得到这个错误: node: ../src/util-inl.h:196: TypeName* node::Unwrap(v8::Local<v8::Object>) [with TypeName = node::TLSWrap]: […]

Nodejs错误:读取ECONNRESET

我在我的一个应用程序中使用Nodejs进行web套接字通信。 这个应用程序定期发送用户数据到AWS dynamodb。 我得到了很多新的文物更改与下面stacktace: Error: read ECONNRESET at exports._errnoException (util.js:856:11) at TLSWrap.onread (net.js:545:26) / 我只是想了解为什么发生这个TLSWrap错误。 提前致谢

当客户端刷新或打开新页面时,Socket.io保持客户端连接

如果用户打开一个新页面或刷新页面,可能在客户端保持相同的socket.io连接,可能存储在会话中的套接字或不可能?

io()和io.connect()之间的区别使用socket.io

我想知道之间有什么区别 var socket = io(); 和 var socket = io.connect(); 在我的脚本中使用socket.io(客户端) 谢谢!

在页面closures后向node.js发送消息

所以我很新,所以我很抱歉,如果这是一个完全错误的做法,但我目前正在使用express和socket.io使用node.js编程一个小聊天应用程序。 我设法得到一个login消息logging到控制台,但我真的很苦恼注销之一。 当用户打开页面时,我将房间名称和用户名从一个cookie中取出,并发送到服务器,如下所示: var socket = io(); var roomname = readCookie('Roomname'); var nickname = readCookie('Nickname'); var data = {'type': 'user', 'channel': roomname, 'user': nickname, 'data': "joined"}; socket.emit('chat', data); 之后,我在服务器端过滤消息,并将答案发送给所有这样的客户端: case 'user': io.emit('chat/' + msg.channel, {type: 'user', user: msg.user, data: msg.data}); break; 我总是发送string“聊天”,然后房间名称作为频道名称,这样只有右侧房间的用户才能看到该消息。 在那之后,我清理了客户端收到了什么样的消息: case 'user': console.log(msg.user + " just " + msg.data + " the […]