首页 > 解决方案 > 将 socket.io 客户端指向 heroku 服务

问题描述

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

当我执行以下操作时,

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

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

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

标签: javascriptnode.jsexpressherokusocket.io

解决方案


如果没有更多代码,我不确定您在哪里遇到问题。我已经按如下方式设置了一个基本的 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");
});

推荐阅读