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

heroku-server:为什么endpointURL中没有端口?

路奇
2023-03-14

我做了一个小的Chat-App->React JS聊天客户端和Node-JS(socket.io/express)Web-Socket服务器。

完成测试后,我在Heroku上部署了NodeJS-Web-Socket服务器。

我应该在客户端中使用的URL是const ENDPOINT='html" target="_blank">https://jorroch-consulting.herokuapp.com/';

让我感到疑惑的是,当我的服务器仍然在localhost上启动时,我不得不使用endpointURL中的一个端口。URL如下所示:const ENDPOINT='localhost:5000';

这是因为我的服务器正在侦听端口5000:server.listen(port,()=>console.log('server has started on port${port}'));

现在,服务器部署在heroku上,客户机没有关于端口5000的信息,但它仍然可以工作。

我的React-Client如何知道哪个端口是正确的?heroku是否将所有请求路由到端口5000?但他们怎么知道?他们扫码了吗?

我在问,因为我想在同一个index.js中创建第二个WebSocket-Express服务器(这可能吗?)文件并将其重新部署到heroku,但如果不使用不同的端口,则无法工作。

共有1个答案

柳晔
2023-03-14

应用程序监听您在localhost上决定的端口,在Heroku上,它被动态分配给您,并映射到给定的主机名,即jorroch-consulting.herokuapp.com
访问主机(在HTTPS上)会重新路由到port$port上的内部服务。

Heroku web应用程序只有一个端口($port),所以在同一个web Dyno中不能有两个端口。您可以将dyno扩展为具有多个实例,或者如果第二个服务器提供不同的功能,则部署不同的应用程序。

 类似资料:
  • 问题内容: 我知道每次键入字符串文字时,字符串池中都会引用相同的String对象。 但是,为什么String API不包含,所以我可以使用引用? 至少,这将节省编译时间,因为编译器将知道引用现有的String,而不必检查是否已创建它以进行重用,对吗?我个人认为,字符串文字(尤其是很小的文字)在许多情况下是一种“代码异味”。 那么是否没有String.Empty背后的宏伟设计原因,还是语言创建者根本

  • 问题内容: 在Java中,有和接口。两者都属于Java的标准框架,并提供了一种访问元素的分类方法。 但是,据我了解没有。你可以用来对列表进行排序。 知道为什么要这样设计吗? 问题答案: 列表迭代器首先确保你以列表的内部顺序(也称为插入顺序)获取列表的元素。更具体地说,它是按照插入元素的顺序或操作列表的方式进行的。排序可以看作是对数据结构的一种操作,有几种方法可以对列表进行排序。 我将按照自己的见解

  • 问题内容: 为什么JavaFX中没有ObservableQueue?如果我们查看FXCollection的Java 9文档(只是看一下8的变化),我们会看到用于创建Observable集,列表和映射的静态助手方法。还有一些创建Observable float和integer数组的方法。但是,无法创建ObservableQueue。Java中的Queue接口具有许多有趣的实现,包括ArrayDequ

  • 问题内容: 我正在尝试做这样的事情: 不幸的是,即使在Java 9中也不存在。 为什么它被遗漏了? 建议的解决方法是什么? 问题答案: 为什么它被遗漏了? 该API提供了可重用的构建块。这里的相关积木是,,。通过这些,您可以实现所需的功能:将流内映射到对象,然后获得平面图。提供构建基块的排列是不切实际的,并且很难扩展。 建议的解决方法是什么? 如前所述,使用可用的构建基块(+ ):

  • 许多编译器都提供128位整数类型,但我使用过的编译器都没有提供typedefs。为什么? 据我回忆,标准 用于此目的的储量 鼓励提供此类类型的实现提供typedef 要求此类实现提供至少128位的intmax_t (而且,我不相信我使用了实际上符合最后一点的实现)

  • 问题内容: 在Java has 方法中,但是,它仅在诸如或的关联容器中使用。为什么要这样设计?具有方法的界面看起来更优雅。 问题答案: 在我看来,主要的论据是,可以为任何Java对象计算出一个定义明确的默认值,以及一个同样定义明确的。根本没有充分的理由要保留所有对象的该功能,当然也有很多理由 不 保留此功能。因此,这本书毫无疑问。