You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Socket.IO时浏览器中console.log无法工作的问题求助

问题分析与解决

你遇到的问题核心是Socket.IO客户端并没有connection这个事件——这个事件是服务端用来监听新客户端连接的专属事件,客户端要监听连接成功的状态,得用connect事件。

具体原因拆解

  • 服务端的io.on('connection', ...)是用来接收新客户端接入的回调逻辑,这是服务端侧的专属事件。
  • 客户端这边,当成功和服务端建立Socket连接时,触发的是connect事件而非connection。你之前把connection事件绑定在客户端的socket实例上,这个事件根本不会被触发,所以回调里的console.log自然不会执行。

修正后的客户端代码

<script type="text/javascript">
  let socket = io.connect('http://localhost:5000');
  // 替换成客户端专属的connect事件
  socket.on('connect', function () {
    console.log('Connected to server');
  });
</script>

额外调试建议

你还可以顺便监听连接断开的disconnect事件,方便排查连接状态变化:

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

修改后,客户端连接成功时就能正常打印日志,和服务端输出的client connected形成对应了。

内容的提问来源于stack exchange,提问作者wawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:02:41