服务器从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");
答案 0 :(得分:0)
从客户端发出的消息发送到服务器,而不发送到任何其他客户端。如果要从一个客户端向所有客户端发送消息,则将消息发送到服务器,然后对服务器进行编码以接收该消息并将其发送给其他客户端。