gpt4 book ai didi

node.js - socket.io - socket.send 不传送消息

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:18 25 4
gpt4 key购买 nike

我正在尝试在前端和后端之间进行文本通信。我的 node.js 代码如下所示:

var express = require('express');
var app = express();
var io = require('socket.io').listen(8081);

app.use(express.static('public'));

var server = app.listen(3000, function () {
var port = server.address().port;
console.log('Example app listening at', port);

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

});

标记:

<html>
<body>
<script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
<script type="text/javascript">
var socket = io.connect('http://localhost:8081');
socket.on('connection', function (socket) {
socket.send('hi');
});
</script>
</body>
</html>

我对 socket.io 还很陌生,socket.send('hi') 应该将 console.loging hi 发送到 Node 控制台。我是否遗漏了什么(是的,IP 是正确的)?没有 JS 控制台错误。

最佳答案

我认为您不能使用io.sockets.on - 您只能使用它.emit连接到连接的套接字。

此外,对于前端来说,套接字连接时的事件是connectconnection 是创建新连接时的服务器端事件。

最后,socket 也不会作为参数传递给前端的事件。

// server
io.on('connection', socket => socket.on('message', msg => console.log(msg)));

// client
socket.on('connect', () => socket.send('hi'));

关于node.js - socket.io - socket.send 不传送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487740/

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