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

时间:2019-05-01 20:57:50

标签: 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网址。

1 个答案:

答案 0 :(得分:0)

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