获取客户端流服务器的端口号 [运行 on heroku]

get port number of stream server on client side [running on heroku]

我正在尝试在 heroku 上部署我的 dart 应用程序,但即使我在 dyno 中安装了我的流服务器 运行,我也不知道如何获取端口号客户端代码通过 websocket 连接到服务器。由于我无法使用 Platform.environment['PORT'],我不知道如何获取端口。

我的客户端websocket地址是这样的:

var port = '<The port number i need>';
var url = 'ws://0.0.0.0:$port/ws';

费了很大功夫才成功部署到heroku。请告诉我有办法让这个工作。

我自己还没有用过 Heroku,但这里 doc

The Heroku platform automatically routes HTTP requests sent to your app’s > hostname(s) to your web dynos. The entry point for all applications on >the Cedar stack is the herokuapp.com domain which offers a direct routing path to your web dynos.

应该可以向您的网络测功机的主机名发出 HTTP 请求以连接到您的服务器,并且您的服务器应该能够执行 Platform.environment['PORT'] 并报告结果。

参考GunterWhy won't my app establish websocket connection on Heroku?给出的link,恰好是客户端不需要实际连接端口。

执行 window.location.origin 并将 http:// 替换为 ws:// 成功了!虽然问题是即使我的数据库打开了,但在使用对象查询时还是有一些问题。

您可以在终端中尝试“heroku 运行 bash”和 运行 您的服务器,然后您可以轻松地找到您的应用所在的端口 运行ning。