javascript - Socket.io socket.emit/socket.on 不工作

标签 javascript socket.io

我正在编写一个应用程序,其中有多个 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/

相关文章:

javascript - 套件脚本;用户事件脚本中的异步 HTTP 请求

javascript - 模拟函数时在 Jest 中确定范围

javascript - 显示佛教日期的 jQuery 日期选择器

Node.js 应用程序在本地工作,但 heroku 说缺少模块

node.js - 将 Socket.IO 与 Servlet 结合使用

node.js - Socket.io SSL 连接与 Nginx 和 Express

JavaScript - 为什么包含括号会导致三元表达式错误?

javascript - `fetch` 请求未显示所需结果,`ajax` 请求显示所需结果

node.js - Socket.IO:Swift 客户端连接到 Node.js 服务器但服务器不会注册连接?

node.js - Laravel Forge - Node.js Websocket 超时