如何获取控制台.log使用套接字时在浏览器中工作.IO?



我在HTML页面中嵌入了一个基本的 socket.io 代码。看起来客户端可以毫无问题地连接到服务器,因为服务端脚本会确认它。

但是由于某种原因,浏览器中的console.log不起作用,也不会记录消息。

这是客户端.html

<script type="text/javascript">
let socket = io.connect('http://localhost:5000');
socket.on('connection', function () {
console.log('Connected to server');
});
</script>

和服务器.js

let io = require('socket.io').listen(process.env.port || 5000);
io.on('connection', function() {
console.log('client connected');
});

但是,当我将console.log带到socket.on之外时,控制台.log确实有效:

<script type="text/javascript">
let socket = io.connect('http://localhost:5000');
console.log('Connected to server');
socket.on('connection', function () {
console.log('Connected to server');
});
</script>

我做错了什么或错过了什么?

查看 socket.io 文档,看起来您需要的事件实际上可能是connect而不是connected

控制台日志未触发,因为 socket.io 从未触发称为连接的事件。

尝试:

socket.on('connect', function () {
console.log(`Connected to server`);
});

https://socket.io/docs/client-api/#socket

相关内容

最新更新