使用Java ECONNREFUSED的Heroku Websockets(连接被拒绝)

Ive*_*ius 11 java heroku java-server java-websocket

我正在使用Java编写一个小型游戏服务器.

我使用TooTallNate-Java-Websockets库来创建我的websocket服务器.当我在localhost上运行我的服务器时一切正常,我可以从任何地方连接到它.但是当我将我的应用程序提交给Heroku时,每次我尝试建立套接字连接时都会收到错误ECONNREFUSED(连接被拒绝).

值得一提的是,当我使用应该模拟heroku环境的工头运行我的应用程序时,一切都按预期工作.

作为我的websocket服务器的端口,我尝试使用808050008000之间的许多其他.

我只能猜测heroku上发生了什么,因为日志只包含http请求的基本信息.

请帮忙,我接近放弃:(

编辑

这是我在Proc文件中的内容:

web: ./build/install/my-app/bin/my-app
Run Code Online (Sandbox Code Playgroud)

UPDATE 创建了一个简单的抽象应用程序来展示问题:(当然,在工头测试,它在本地环境中工作)

  1. 我的html/js测试员:Testerpage
  2. 我的主要Java Jetty服务器:Java Main
  3. 控制台错误消息: WebSocket connection to 'wss://test-websocket-yan.herokuapp.com:39773/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Ive*_*ius 6

我正在回答我自己的问题,分享我如何设法连接到Heroku上的Java websocket服务器.

  1. 使用Java创建您的Web套接字服务器,实现取决于您,您可以使用javax或Jetty websockets或TooTallNate-Java-Websockets,我使用了Jetty.这是我的实施.我跟着这个例子.
  2. 连接到heroku上的Web套接字时,请使用以下方案ws:// + yourHerokuAppAdress + yourSocketEndpoint.端点是你的websocket正在监听的相对地址,在我的例子中它是"/ socket".无需指定端口!