套接字io名称空间不会触发on(“ connection”)事件

时间:2019-02-13 09:59:32

标签: javascript node.js socket.io

我在Node.js上同时使用socket.io(服务器API和客户端API)作为客户端和服务器。如docs中所指定,这是可能的。除了Express之外,我没有使用任何特定的框架,而是遵循official guide来使用socket.io。

在服务器端,我有:

const express = require("express");
const app = express();
const http = require("http");
server = http.Server(app);

const io = require("socket.io")(server) //server listens on "http://localhost:3001
io.on("connection", socket => {
  console.log("server says: someone connected");
});

在客户端,我有:

const io = require("socket.io-client")("http://localhost:3001");
io.on("connect", () => {
  console.log("client says: connected");
});

直到这里一切都正常工作...现在,当添加名称空间时,似乎不再起作用。我遵循了official guide,并得到了以下内容:

在服务器端,我有:

const express = require("express");
const app = express();
const http = require("http");
server = http.Server(app);

const io = require("socket.io")(server) //server listens on "http://localhost:3001
const nsp = io.of('/my-namespace');
nsp.on("connection", socket => {
  console.log("server says: someone connected");
});

在客户端,我有:

const io = require("socket.io-client")("http://localhost:3001");
const socket = io('/my-namespace');
socket.on("connect", () => {
  console.log("client says: connected");
});

但是在引入名称空间之后,似乎没有任何作用...我想念什么?

谢谢我完全迷路了

0 个答案:

没有答案