【问题标题】:socket.io "connection" event isn't being called未调用socket.io“连接”事件
【发布时间】:2021-04-29 11:16:12
【问题描述】:

我正在尝试使用 express 和 socket.io 创建一个非常简单的服务器。当我打开网页时(localhost:2000),我可以看到 HTML 文件,但没有调用 io.sockets.on("connection") 事件,我在控制台中看不到 "socket connection"

app.js:

var express = require("express");
var app = express();
var serv = require("http").Server(app);

app.get("/",function(req, res) {
  res.sendFile(__dirname + "/client/index.html");
});
app.use("/client", express.static(__dirname + "/client"));

serv.listen(2000)

var io = require("socket.io")(serv,{});
io.sockets.on("connection", function(socket) {
  console.log("socket connection")
});

index.html:

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
var socket = io();
</script>

我之前通过 npm 安装了 expresssocket.io

我该如何解决这个问题?我在 macOS 11.1 上运行 node.js v12.13.1express 6.12.1socket.io 6.12.1

【问题讨论】:

    标签: javascript node.js express sockets socket.io


    【解决方案1】:

    刚刚想通了。我使用的 CDN 已经过时了。

    index.html,我替换了

    <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
    

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.0/socket.io.js"></script>
    

    【讨论】:

      猜你喜欢
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2016-07-17
      • 2016-03-28
      • 1970-01-01
      相关资源
      最近更新 更多