gpt4 book ai didi

node.js - 服务器未收到客户端的 socket.io 消息

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:05 30 4
gpt4 key购买 nike

我开始了一个简单的 express+socket.io 项目。在服务器上,我注册了套接字的“连接”事件,然后我向客户端发送了一条消息。这很好用。

当我在客户端从服务器接收消息时,在此事件处理程序中我执行 socket.emit('message', 'some text');

此消息未到达服务器。我知道它应该非常简单,因此我想我错过了一些愚蠢的东西。任何帮助表示赞赏。

服务器代码:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function (req, res) {
res.sendfile('index.html');
});

io.on('connection', function (socket) {
console.log('a user connected');
io.emit('server-message', 'hello socket.io server');
});

io.on('message', function(message) {
console.log(message);
});

客户端代码:

window.socket = io.connect('http://localhost:3000');

socket.on('server-message', function (message) {
console.log(message);
socket.emit('message', 'hello socket.io from browser');
});

最佳答案

看起来像 io.emit('server-message', 'hello socket.io server'); 应该改为 socket.emit('server-message', 'hello socket.io server'); 然后,您需要将以下内容移至 connection 事件监听器中:

io.on('message', function(message) {
console.log(message);
});

并将其更改为

socket.on('message', function(message) {
console.log(message);
});

关于node.js - 服务器未收到客户端的 socket.io 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357879/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com