【问题标题】:Pointing socket.io client to heroku service将 socket.io 客户端指向 heroku 服务
【发布时间】:2019-09-20 09:30:46
【问题描述】:

我使用 socket.io、Node.JS 和 express 创建了一个实时聊天应用程序,我可以通过创建本地服务器来查看该应用程序。但是,我不想使用本地服务器,而是将我的客户端指向现有的 heroku 服务。我该怎么做?

当我执行以下操作时,

var spot = io("https://spotim-demo-chat-server.herokuapp.com");

与连接、断开连接、用户名注册和消息传递相关的所有功能似乎都失败了。它们在聊天中不起作用,它们的 console.log 消息也不会出现在终端中。

我还考虑过创建一个 HTTP 服务器并让它使用 .listen() 监听 heroku 服务的端口和 IP 地址。然而,对于我的任务,我没有提供这些值中的任何一个,只是 heroku url。

【问题讨论】:

    标签: javascript node.js express heroku socket.io


    【解决方案1】:

    如果没有更多代码,我不确定您在哪里遇到了问题。我已经按如下方式设置了一个基本的 socket.io 客户端,并且可以毫无问题地连接。您可以使用以下命令运行它以仅查看客户端的消息DEBUG=spot-client node client.js,或者如果您希望查看来自套接字客户端本身的所有调试信息以及DEBUG=* node client.js。后者可能会帮助您进一步诊断问题。还要确保安装 socket.io-clientdebug 软件包。希望这会有所帮助!

    const io = require('socket.io-client');
    const debug = require('debug')('spot-client');
    var spot = io("https://spotim-demo-chat-server.herokuapp.com");
    
    spot.on('connect', function(){
        debug("connected");
    });
    spot.on('event', function(data){
        debug("event",data);
    });
    spot.on('disconnect', function(){
        debug("disconnect");
    });
    

    【讨论】:

    • 非常感谢,我认为它现在可以工作了。调试信息特别有用!
    • @Dylbert 我很高兴这有帮助。如果它解决了您的问题,请接受答案,如果没有,很乐意提供进一步的帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-07-04
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    • 2020-04-07
    • 2016-04-23
    • 2018-10-19
    相关资源
    最近更新 更多