首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在nodejs socket.io中显示持续连接消息

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

Stack Overflow用户
提问于 2018-08-06 06:05:32
回答 3查看 1.3K关注 0票数 2

我正在尝试使用laravel开发一个实时聊天应用程序。我面临着一个问题。当我运行"node index.js“时,命令提示符中不断显示'A connection has made‘的信息。

我的index.js文件是:

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);
    // });
});

我的index.html页面是:

<!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>

我该怎么解决它呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-06 06:31:55

您的客户端不断地反复尝试连接的常见原因是,您的socket.io客户端和服务器版本不匹配,从而使它们不兼容。您没有展示如何在web页面中加载socket.io Javascript,但如果您这样做:

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

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

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

票数 11
EN

Stack Overflow用户

发布于 2021-02-14 01:40:13

如果您在React/NextJs上使用它,只需将它们声明为全局

import socketClient from "socket.io-client";
const SERVER = "http://127.0.0.1:8000";
const socket = socketClient(SERVER);
export default chatApplication=()=>{
    //main component 
}
票数 0
EN

Stack Overflow用户

发布于 2020-05-13 02:18:53

例如,将端口号从3000改为7000。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51698594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档