当前位置: 首页 > 知识库问答 >
问题:

Socket.io客户端无法向服务器发送消息

司健柏
2023-03-14
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function(socket){

    console.log('a user connected');

    socket.on('bid', function(msg){
        console.log('received:' + msg);
    });

    socket.on('disconnect', function(){
        console.log('user disconnected');
    });
});

http.listen(3000, function(){
    console.log('listening on *:3000');
});
$(function () {

    var socket = io(':3000/socket.io/socket.io.js');

    $('#bid-form').on('submit',function(){
        socket.emit('bid', 'test');
        console.log('emit');
        return false;
    });
});

当我提交表单时,我在浏览器控制台中看到“emit”消息,所以我知道表单提交事件正在触发,但我没有在服务器上收到测试消息。客户端或服务器端似乎什么也没发生,“socket.emit”函数似乎什么也没做。

我做错了什么?

共有1个答案

郤玉书
2023-03-14

我的假设是您正在localhost上运行express服务器。

看起来像是通过file://直接访问HTML文件,除非客户端代码由不同的web服务器托管。但不管怎样,以下是你可以联系的方法:

<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
  $(function () {
    var socket = io("http://localhost:3000");
    $('#bid-form').on('submit',function(){
      socket.emit('bid', 'test');
      console.log('emit');
      return false;
    });
  });
</script>

您需要通过script标记加载socket.io.js文件。然后通过向io()函数提供socket.io服务器的主机来连接到您的socket.io服务器。

 类似资料:
  • 问题内容: 我正在构建一个实时Web应用程序。 我希望能够从python应用程序的服务器端实现发送广播消息。 这是设置: 客户端上的 socketio.js TornadIO2 服务器作为Socket.IO服务器 *服务器端的 *python ( Django 框架) 我可以成功地将socket.io消息从客户端发送到服务器。服务器处理这些并可以发送响应。在下文中,我将描述我是如何做到的。 当前设

  • 我正在试用netty,但当我响应时,客户端似乎没有收到我的消息。我使用Java NIO和socketChannel编写了相同的代码,看起来很好。我这样说是因为客户机会记录我发送的任何内容。下面是我的服务器 下面是我的服务器处理程序 } 示例响应: 我正在我的盒子上做一个tcpdump,我看到了我在电线上发送的内容,所以我不确定我做错了什么。而且,几分钟后,这会被记录下来,我不确定我在服务器或服务器

  • 问题内容: 所以现在,我正在制作一个基于客户端服务器应用程序的多线程。在服务器端,我为接受的每个连接创建了一个线程。 在线程类中,我创建了一种将命令发送到客户端的方法。我只想要的是如何将参数发送到所有正在运行的客户端?为简单起见,我只想使此服务器向所有连接的客户端发送消息。 我已经阅读了这篇文章,并从此链接中找到方法。但是,当我尝试使用自己的代码时,中没有类似的方法。 好的,这是我的服务器和线程示

  • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s

  • 问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist