当前位置: 首页 > 知识库问答 >
问题:

SocketIO不在Heroku环境中工作[在Localhost中工作]

段超
2023-03-14

我用NodeJS和Socketio开发了聊天程序。然后我部署到Heroku服务器,发现SocketIO在Heroku中不工作。

我已经检查了Heroku的日志,但什么都没有。但奇怪的是,它在localhost环境中工作,而不是在Heroku环境中。我想端口设置有些问题。

[服务器端代码]

/* Socket IO Settings */
const server = require('http').Server(express);
const io = require('socket.io')(server);
let port = process.env.PORT || 3001;
server.listen(port, function () {
  console.log(`SocketIO Listening on port : ${port}`)
});

“客户端代码”

/* Chat Functions */
var socket = io.connect(`${window.location.hostname}:3001`);

第一次,我只是使用var socket=io.connect('http://Localhost:3001');代码,它在Localhost env中工作得很好。但是在部署到heroku之后,我添加了heroku变量,以便在生产中使用它。

[端口设置]

NODEJS Server : 3000
SOCKET IO : 3001
Heroku process.env.PORT : 3001 (But When I check Heroku console it changes everytime when I reload the dynos and in Logs said me that the ports are already in use.)

我已经阅读了Heroku文档,但似乎我用Express Generator创建了NodeJS应用程序,我认为应该是不同的解决方案。我已经试过heroku文档了,但它不起作用

共有1个答案

东方和惬
2023-03-14

在server.listen函数中设置服务器ip

var ip='127.0.0.1';
var port ='3001' ;
server.listen(ip,port, function() {console.log('server stsrt in ip: ' +ip+' and port: ' +port);}) ;
 类似资料:
  • 我对Environment env有问题。getproperty、env无法找到本地属性,但它可以找到系统属性。我不知道这么多,我需要解决它。请帮帮我。附上我的代码及其配置。 控制器。xml: Paremeters.properties: 控制器: 在此处输入图像描述

  • 后端:Express服务器,带npx create-Express-api后端 Frontend: Next.js,带npx create-react-app前端 我已经在我的根文件夹中实现了这些命令,并尝试运行npm start xxx来检查它们是否还在工作。但是它们在我的http://localhost:3000中不起作用,尽管它们在此链接中起作用http://172.27.178.192:3

  • 问题内容: 我有以下代码- 但这给了我输出- 我不明白这一点,为什么不消除它,但是在这种情况下我只尝试了一种。当我最后添加少量内容时,我不会从中删除。为什么? 问题答案: 删除第一个“ Meg”时,即为索引。然后增加,但是由于“ Meg”之一已被删除,因此现在是“ Brain”。因此,您实际上没有检查第二个“ Meg”。 解决问题。您可以在删除元素时减少索引:

  • 我在WebSphere8.5.5上使用Quartz-2.2.3,在集群环境中,我有2个节点,每个节点上有3个JVM。 我正在应用程序启动时配置作业。 问题是作业在每个节点上配置一次,我希望它在两个节点上只配置一次,而不是每个节点上都配置一次。 我的配置如下: QuartzConfig.Properties: ApplicationContextListener:

  • 步骤: 在Tomcat服务器上单击右键>属性 在常规菜单中:单击切换位置 位置已从[workspace metadata]更改为位于localhost.Server的/Server/Tomcat V8.5服务器 在此配置之后,我再次启动tomcat服务器,现在正在工作。我可以看到Tomcat欢迎页面 按照我的设置文件: eventryapp/pom.xml eventryapp/src/main/