我正在编写一个应用程序,其中有多个 socket.io 自定义事件,并且所有工作正常,除了这个:
socket.on("incomingImg", function(data) {
var newimagesrc = data.image
alert("new image");
$("#messages").append(
$("<img id='image' src='" + newimagesrc +"' >").text(
data.sender + ": [IMAGE]: " +
data.image
)
);
//$("#image").attr("src", newimagesrc);
});
我已经确认所有 JQuery 都可以工作,这里唯一的问题是,除了我发送此消息的客户端之外,在每个客户端上都没有任何反应。值得注意的是,最初发送消息的客户端正在发送不同的事件;我的服务器代码如下所示:
socket.on("sendImg", function(data) {
var imgdata = data.imageurl;
var sendername = data.uname;
console.log(imgdata);
console.log(sendername);
socket.emit('incomingImg', { image: imgdata, sender: sendername
});
});
由于某种原因,当发出 IncomingImg
时,只有发送 sendImg
的客户端才会收到它。任何帮助将不胜感激!
最佳答案
事实证明,Pineapple Joe 在评论中提到的微妙细节之一就是问题所在,尽管这实际上是我的错误 - 服务器上的事件名称存在拼写错误。更正该问题解决了问题。
关于javascript - Socket.io socket.emit/socket.on 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58494716/