我在HTML页面中嵌入了一个基本的socket.io代码。看起来客户端可以毫无问题地连接到服务器,因为服务端脚本确认了它。
但由于某些原因,浏览器中的console.log
不起作用,也不记录消息。
这是client.html
<script type="text/javascript">
let socket = io.connect('http://localhost:5000');
socket.on('connection', function () {
console.log('Connected to server');
});
</script>
和server.js
let io = require('socket.io').listen(process.env.port || 5000);
io.on('connection', function() {
console.log('client connected');
});
但是,当我在console.log
之外取socket.on
时,console.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>
我做错了什么或我错过了什么?
答案 0 :(得分:2)
查看socket.io文档,看起来您需要的事件可能实际上是connect
而不是connected
。
你的控制台日志没有被触发,因为socket.io并没有触发一个叫做连接的事件。
尝试:
socket.on('connect', function () {
console.log(`Connected to server`);
});