javascript - 将 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。
解决方案
如果没有更多代码,我不确定您在哪里遇到问题。我已经按如下方式设置了一个基本的 socket.io 客户端,并且可以毫无问题地连接。您可以使用以下命令运行它以仅查看客户端的消息DEBUG=spot-client node client.js
,或者如果您还希望查看来自套接字客户端本身的所有调试信息DEBUG=* node client.js
。后者可能会帮助您进一步诊断问题。还要确保安装socket.io-client
和debug
软件包。希望这可以帮助!
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 - 当 if-else 满足条件时停止执行
- amazon-web-services - AWS redshift-data API:调用 DescribeStatement 操作时发生错误 (ResourceNotFoundException):查询不存在
- django - 如何显示用户网址头像
- python - 如何将信息从剧本传递到另一个剧本?
- node.js - 是否可以使用 MEVN 堆栈在某个日期前 x 小时向用户发送电子邮件提醒?
- android - how to post request message pack with okhttp3
- azure-active-directory - 使用R包AzureAuth获取的token查询数据
- ruby-on-rails - 如何在 Rails Admin 的显示和列表操作中使用关联集合的范围
- reactjs - React 测试库设置 window=undefined
- c++ - Crossworks 字符串转换