Tag: socket.io

在Nodejs项目中使用Socket.io客户端文件时出错

我在我的nodejs项目中使用Socket.io。 为了使用socket.io我应该在客户端使用两个JavaScript文件: 第一个是socket.io-1.3.5.js 第二个是存在于本地URL中的JavaScript文件:/socket.io/socket.io.js。 据我所知,你应该在第二个之前引用第一个文件。 但是当我运行服务器时会导致错误: Uncaught TypeError: object is not a function 它是指第二个文件的这一行: query[this.timestampParam] = +new Date + '-' + Transport.timestamps++; 我已经安装了socket.io。 我该怎么办? 谢谢。

Socket.io聊天服务器不提供SSL证书

(简单)聊天是我刚才创build的应用程序的一部分。 今天我将网站从http切换到https。 因此,我也必须SSL我的Socket.io聊天套接字,否则浏览器会发牢骚。 由于某种原因,虽然我的聊天服务器根本没有提交任何证书。 在Linux上使用openssl证实了这一点: openssl s_client -connect my.subdomain.tld:1337 -servername my.subdomain.tld -ssl3 回报 CONNECTED(00000003) 140136057653064:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596: — no peer certificate available — No client certificate CA names sent — SSL handshake has read 0 bytes and written 0 bytes — New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: […]

未请求的Socket.IO连接

当我导航到我的网站的一个子页面时,我的socket.io服务器正在运行索引页面的连接模块。 导航至www.example.com/query时,完整的控制台日志 authenticated updated ==> { GbLZ5jxHz0S5uyNNAAAA: { user: 'yrn1jro2fw1nk4dyy4', group: 'uehw1o2grq1oy11y9xrgyw' } } client connected to INDEX with id GbLZ5jxHz0S5uyNNAAAA preloading index client connected to QUERY with id GbLZ5jxHz0S5uyNNAAAA preloading query 我的主要问题涉及到我得到第二和第三行。 我希望连接到“QUERY”,而不是“INDEX”。 当我导航到www.example.com时,控制台按照预期打印一个连接。 这是我整个server.js文件,我只是简化和运行生成上面的简化控制台日志。 你可以忽略authentication的东西,我主要包括那些可能会觉得有用的人。 var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); var util […]

节点js实时聊天读取或不读取状态

其实我必须在与socket.io简单节点聊天中实现读取和不读取状态。 我已经在node和socket.io帮助下构build了实时聊天应用程序。 但现在我想要的是当user1发送消息给另一个用户2 。 user1具有状态,如果user2读取或不读取消息,这是发送给另一个用户像whatsup现在做的。 关于这个状态的任何想法。

Socket.io消息的发送者不能像其他用户那样获得消息

我想实现Socket.io的Roomfunction,我的configuration是这样的: io.on('connection', function (socket) { socket.join('123'); //… } 而当我想发出一个事件: socket.in('123').emit('sendMessage', {items:values]}); 但是除了这个消息的发送者,每个人都会得到这个消息 为什么? 我必须为发件人发送emit()单独的邮件吗? 如果我使用socket.to('123')而不是socket.in('123')我得到相同的结果,没有任何变化。 我使用Socket.io的官方文档: http : Socket.io

是一个Socket.IO套接字ID敏感/私人数据?

当一个新的连接被Socket.IO处理时,它创build一个Socket对象,并且这个对象的一个​​属性是id 。 这是用于识别连接的“不可猜测”(根据文档)string。 在构build应用程序时,是否认为将此ID广播给其他客户端是安全的,安全的和良好的做法? 我的倾向是哈希ID和广播摘要可能是一个更好的主意。

node.js,socket.io – 网站架构

我有一个网站,我想有一个用户系统,无论用户在哪个网站login,都可以login 。 使用socket.io,我发现每个HTML页面都需要自己的socket.io连接。 所以每次用户离开一个HTML页面时,他都会断开第一个socket的连接。 保持这种联系的最好方法是什么? 我不希望用户手动login每个HTML页面。 我假设将login数据作为HTMLparameter passing,并自动使用这些参数login到服务器是非常愚蠢的,但目前它是我能想到的唯一的解决scheme。 理想情况下,socket.io将在整个站点上使用相同的套接字。 我认为我错过了一些东西,考虑到所有具有用户系统的网站都具有所需的function。

在socket.io范围外使用var

我正在nodejs聊天,我想在socket.io范围外使用var用户,但它不断给我一个undefined 这里是我的代码,设置用户变种 socket.on('bio', function(data) { for (var i = 0; i < data.length; i++) { users[data[i].name] = { avatar: data[i].avatar, steamid: data[i].steamid, name: data[i].name, userid: data[i].id, admin: data[i].admin } } }); 在这里我尝试使用它,但它说它未定义 textarea.addEventListener('keydown', function(event) { var self = this; if (event.which === 13 && event.shiftKey === false) { socket.emit('input', { timeStamp: moment().format("YYYY-MM-DDTHH:mm:ss"), name: chatName, userid: […]

将socket.io逻辑与服务器文件分离,并访问逻辑文件中的io.sockets

在我的Nodejs应用程序的server.js (起点)中,我执行以下操作来启动服务器和套接字: var socket = require('./routes/socket'); var port = process.env.PORT || 9091; var io = require('socket.io').listen(app.listen(port, function(){ console.log('Server is listening on port: ' + port); })); io.sockets.on('connection', socket); 现在在./routes/socket我想能够广播给所有的客户,我相信我必须这样做: io.sockets.emit()与相同的io 问题是我没有访问该文件中的io : // export function for listening to the socket var store = (function(){ var value = 0; var getValue = function() { return value; […]

使用node.js和express和socket.iodeviseselect

我想制作一个networking应用程序,每个用户都可以创build一个其他用户可以join的聊天室。 我想有一个主节点服务器pipe理房间,每当用户创build一个新的房间时,一个新的聊天服务器应该由主服务器启动,它应该pipe理房间。 我的问题是,如何使新的服务器在node.js中启动,我该如何pipe理它?