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

在nodejs socket.io中显示连续连接消息

尉迟高澹
2023-03-14
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(3000);
app.get('/', function(request, response){
    response.sendFile(__dirname+ '/index.html');        
});

io.on('connection', function(socket){
    console.log('A connection has made');
    // socket.on('chat.message', function(message){
    //  io.emit('chat.message', message);
    // });
});
<!DOCTYPE html>
<html>
    <head>
        <title>Live Chat</title>
    </head>
    <body>
        <div class="container" id="chat">
            <h1> Chat System </h1>
        </div>
    <script type="text/javascript">
    var socket = io();
    </script>
    </body>
</html>

我该怎么解决呢?

共有1个答案

汪同
2023-03-14

客户机不断尝试一遍又一遍地连接的通常原因是因为Socket.io的客户机和服务器版本不匹配,使它们不兼容。您没有显示如何在web页面中加载socket.io Javascript,但如果您这样做:

<script src="/socket.io/socket.io.js"></script>

然后,您将始终自动地从服务器获得与服务器完全匹配的版本(这是socket.io服务器自动添加到Express服务器的路由)。

如果您要从CDN加载Socket.io,那么您必须切换到上面的方式从您自己的服务器加载它,或者手动指定CDN中与您在服务器上运行的版本完全相同的版本。

 类似资料:
  • 问题内容: 我正在尝试使用laravel开发实时聊天应用程序。我遇到了问题。当我运行“ node index.js”时,在命令提示符下连续显示“连接已建立”消息。 我的index.js文件是: 我的index.html页面是: 我该如何解决? 问题答案: 客户端不断尝试一遍又一遍地进行连接的通常原因是,因为客户端和服务器版本的socket.io不匹配,导致它们不兼容。您没有显示如何在网页中加载so

  • 问题内容: 我希望能够访问网页,它将运行python函数并在网页中显示进度。 因此,当你访问网页时,你可以看到脚本的输出,就像你从命令行运行脚本一样,并在命令行中看到输出。 我需要在功能中做什么? 我需要在模板中做什么? 编辑: 我正在尝试将Markus Unterwaditzer的代码与模板一起使用。 Python代码 它可以运行,但我在浏览器中看不到任何内容。 问题答案: 这是一个非常简单的应

  • 我已经使用jsplumb在to div块之间创建了一个连接。我想在连接线上添加箭头。现在箭头没有显示出来。我对此一无所知。 知道为什么箭没有出现吗?有东西不见了吗?多谢了。 `HTML:ABC XYZ CSS: Javascript:jsPlumb.connect({source:“window20”,target:“window21”,锚点:[“Bottom”,“Top”],连接器:“direc

  • 嗨,我想连接到openfire服务器。使用以下代码: 它在connection.connect()上失败;堆栈跟踪是: 在服务器端,消息是: 我试过在连接配置上使用不同的设置,比如玩安全模式。我也试过给它一个回调处理程序,但是从来没有调用过。 编辑:启用调试后,我得到以下信息:

  • 我正在使用Kafka连接JDBC源连接器从数据库中的视图中读取并将其发布在kafka上,它工作正常。 我的用例是用户可以创建多个对象,并且对象的顺序在我的应用程序中很重要。我想使用用户 ID 作为我发布到主题中的所有消息的消息密钥,以保持它们的顺序。 我的问题是,如何在Kafka connect source连接器中定义消息键?

  • 在blade模板中显示查询结果时,我遇到了一些困难。基本情况:我有两张桌子;国家和发行人。国家模型与发行人有许多关系,反之亦然。这两种关系都在模型中正确定义。我试图显示一个发行人列表,其中也包含该国的名称(国家)。我在IssuersController中的查询如下: 此查询在dd()中有效;显示它为每个发卡机构返回一个数组,其中包括所有发卡机构数据以及相应的国家名称(如nation)。完美的然而,