Tag: socket.io

将NodeMCU Lua套接字客户端连接到node.js socket.io服务器

我想连接一个NodeMCU Lua套接字客户端到node.js socket.io服务器。 NodeMCU Lua代码: sk = net.createConnection(net.TCP, 0) sk:on("receive", function ( sck,c ) print (c) end) sk:on("connection", function ( sck,c ) print("Connected") sk:send("Helloooo…") end) sk:connect(12346,"192.168.1.100") Node.js服务器代码: var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); io.on('connection', function(socket){ console.log('someone is connected'); }); server.listen(12346); 问题: Lua客户端的on连接事件被触发并打印“Connected”,但是node.js socket.io服务器中的on连接事件未被触发。 我尝试了一个Python套接字服务器的Lua客户端,它工作得很好! 而且我还尝试了一个使用Javascript套接字客户端的node.js套接字服务器,它运行良好! […]

通过套接字从c#发送数据到节点的socket.io服务器

我目前正在尝试用我的C#客户端提供的数据来提供socket.io服务器。 但是我不确定如何在服务器上接收消息。 我的服务器代码: const io = require('socket.io')(9000); io.on('connection', (socket) => { console.log('Connected'); } 首先,我不知道我要听哪个事件,但是我无法使用以下客户端(使用Websocket-sharp)将数据发送到我的服务器: private void init() { // start socket connection using (var ws = new WebSocket("ws://localhost:9000/socket.io/?EIO=2&transport=websocket")) { ws.OnMessage += (sender, e) => API.consoleOutput("Message: " + e.Data); ws.OnError += (sender, e) => API.consoleOutput("Error: " + e.Message); ws.Connect(); ws.Send("server"); } } 连接工作,但我怎么接收服务器的消息? 发送不会引发错误,因此我认为它确实有效。

使用laravel-echo-server软件包连续获得传输=轮询404

我有一个简单的博客网站,用户可以在博客上发表评论。 当有人在他的博客上发表评论时,我只想向博客作者显示一个简单的popup通知。 我已经读过这个: https://laravel.com/docs/5.3/broadcasting#introduction 以下是我所做的工作: 设置一个事件,这会引发新的评论 import: <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 在刀片模板 在resources \ assets \ js \ bootstrap.js中添加:(按照Laravel文档说的) import Echo from "laravel-echo" window.Echo = new Echo({ broadcaster: 'socket.io', key: 'http://blog.local:6001' }); 我已经设置了这个包,按照: https : //github.com/tlaverdure/laravel-echo-server#laravel-echo-server 被解雇的命令:laravel-echo-server启动 什么时候,我打开网页浏览器,并检查控制台,我不断得到这个错误: socket.io-1.4.5.js:1 GET http://blog.local/socket.io?EIO = 3&transport = polling&t = LZkVvZQ 404(Not Found)这是我的“laravel-echo-server.json” { "appKey": "7k2g9nlm6i492ckorlmp35ng4frusfmt4uq1n68usn3re5lcl4sfg3gibi5d", "authHost": null, "authEndpoint": "/broadcasting/auth", "database": […]

Nodejs socket.io – 如何获取所有套接字并比较它们的属性?

我需要获得所有客户的数据,并比较某些属性来确定谁赢了比赛 代码举个例子: socket.on('joinedRoom', function(roomData){ socket.join(roomData.roomname); socket.score = 0; }): 在这里我增加玩家的分数: socket.on('sendPlayerScore', function(username){ socket.score++; }); 所以这个想法是,我会从这个特定的房间得到所有的分数,以确定谁得分更多。 有没有什么好方法可以做到这一点? 谢谢!

NodeJS Express – 如何从控制器检索socketio房间列表

我的app.js文件中有一个socket.io服务器 const port = process.env.PORT || 3000; const server = https.createServer(options, app); const io = require('socket.io'); const ios = io(server); const routes = require('./routes/index'); app.use('/', routes); 从那个文件中,我知道如何获得房间清单 ios.sockets.adapter.rooms 现在我需要从我的一个路由文件(其中我也实现“控制器”逻辑,我会稍后重构)访问ios , # routes/index.js var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { // // I'd like to check ios.sockets.adapter.rooms HERE // HOW DO […]

将SSL密钥和证书文件传递给Socket.IO安全吗?

我正在使用Socket.IObuild立networking聊天 为了通过HTTPS在Port 3000上进行通信,我需要传递我的SSL Key和证书文件。 Socket.IO是一个开源项目,我不知道如何让它能够访问像我的证书和密钥文件这样的安全文件。 以下是来自运行在服务器端的nodeJS : var fs = require('fs'); var https = require('https'); var express = require('express'); var app = express(); var options = { key: fs.readFileSync('../chat/file.pem'), cert: fs.readFileSync('../chat/file.crt') }; var server = https.createServer(options, app); var io = require('socket.io')(server); Socket.IO安全可靠吗? 如果没有,build议如何使其安全? 任何帮助将非常感激。 谢谢。

我如何在C#中实现socketIO与NodeJS一起工作?

我一直在尝试在C#上实现Emit Broadcast和On方法。 我知道有一个名为SocketIO4DotNet的包,我不希望使用它,因为它已被弃用。 我很了解如何去做。 我试图阅读该软件包的代码,但它使用依赖过于依赖,这是无济于事。 目前我有以下代码: public class SocketIO { protected string host; protected int port; TcpClient client; public SocketIO(string host, int port) { this.host = host; this.port = port; } public bool connect() { if (isConnected()) { return false; } try { client = new TcpClient(); client.Connect(host, port); return true; } catch (Exception ex) […]

Socket-io在注销和networking连接断开连接

有什么办法可以触发用户注销和networking输出的socket-io断开连接。 目前只有在浏览器closures的情况下才能使用。 检查心跳是一种解决scheme,但有没有其他解决scheme? 谢谢

有人可以解释这个错误:expression式语句不分配或调用

我有这两个代码块。 socket.on('chatMessage', function(message) { message.type = 'message'; message.created = Date.now(); message.username : socket.request.user.username; }); socket.on('disconnect', function() { io.emit('chatMessage', { type: 'status', text: socket.request.user.username + ' left the conversation.', created: Date.now(), username: socket.request.user.username, }); }); 如果我改变:或者=其他,Webstorm给我错误。 Expression statement is not assignment or call. 有人能解释为什么发生这种情况 提前致谢。

NodeJS在使用web套接字时存储数据的可能性最好

我正在用NodeJS和Socket.io开发一个基于回合的游戏,在这个游戏之间存储了大量的信息。 我想知道什么是最好的方法来处理可以说,成千上万的用户。 目前我使用全局variables来存储与“决斗”全局variables中的匹配相关的所有内容,其中关键是dynamic创build的空间: duels[room].character_1 = character_1; duels[room].character_opponent_1 = character_opponent_1; duels[room].player_1_moves = {//really big object}; duels[room].player_2_moves = {//really big object}; 我不确定这是否是处理数千用户的最佳方式。 至less记忆明智。 我见过2个其他选项: 第一:使用会话variables来存储数据,但是这在我看来会占用大量的服务器内存(RAM),最好的全局variables或会话? 或者他们都很糟糕? 第二:我正在使用MongoDB,是否可以select在我的数据库中不断插入和检索信息并将其存储在那里? 我有一个感觉,如果我发送太多的查询到我的数据库将崩溃。 基本上,在这一点上我不知道在哪里存储所有这些信息,而不冒我的服务器性能的风险。 我接受任何方法。