一个特定的“ socket.on()”在客户端不起作用

时间:2019-05-24 17:22:19

标签: node.js socket.io

服务器从socket.emit(“ Wiadomosc”)接收消息,但客户端未接收到消息, 但是当我从服务器io.emit(“ Wiadomosc”)发出消息时,客户端会收到消息;

没有错误,其他socket.emit()socket.on()正常工作 我尝试了一切:从工作功能复制了所有内容,却一无所获。 我认为我有问题,而不是代码有问题

Okey,客户端:

socket = io.connect("localhost:4000", {
        transports: ['websocket']
    });

    socket.on("Wiadomosc", function () {
        console.log("wd");
    });


    socket.on("gotowosc", function () {
        $(".gotowosc").css("display", "block");
    });

//somewhere else in code
console.log(socket) //to see if it's fine, and it is
socket.emit("Wiadomosc");

第二个效果很好

服务器端:

let express = require("express");
let app = express();
let server = app.listen(4000, function () {
  console.log("listening on port 4000");
});
let socket = require("socket.io");
let io = socket(server);

io.on("connection", function (socket) {
  socket.on("Wiadomosc", function () { //I did something like that to check if emit works, and it works
    console.log("fine");
  });
});

io.emit("gotowosc");

1 个答案:

答案 0 :(得分:0)

从客户端发出的消息发送到服务器,而不发送到任何其他客户端。如果要从一个客户端向所有客户端发送消息,则将消息发送到服务器,然后对服务器进行编码以接收该消息并将其发送给其他客户端。

相关问题