javascript - 将socket.io客户端指向heroku服务

标签 javascript node.js express heroku socket.io

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

当我执行以下操作时,

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

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

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

最佳答案

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

关于javascript - 将socket.io客户端指向heroku服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55942635/

相关文章:

javascript - array.include 是否适用于嵌套对象

node.js - Jest的spyOn方法不会被调用,但是一旦改变测试用例顺序就会被调用

node.js - 理解 Node.js 中的 try 和 catch

javascript - 如何在 Javascript 中手动设置 REFERER header ?

javascript - 网站上的滑动标签有问题

javascript - 使用 Web 浏览器控件传输文件时出现内存不足异常(大约 10MB 或更大)

node.js - sequelize 抛出错误 Dialect 需要在 express js 中明确定义

javascript - 独立于父 scrollTop 位置更改子项的顶部/左侧位置

node.js - 如何使用 express-validator 检查是否存在至少一个参数

express - axios拦截器使用express req对象