如何配置websocket?

问题描述 投票:0回答:1

在本地服务器上,这些设置有效

CHAT_WS_SERVER_HOST = '0.0.0.0'
CHAT_WS_SERVER_PORT = 3000
CHAT_WS_SERVER_PROTOCOL = 'ws'

并且聊天正常,但是在Heroku上出现错误(Chrome):

WebSocket与'ws://0.0.0.0:41540 / jgvnf53ky1m1lxt1vrka9lcnfilwhkrv / Pechkin的连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED

在Heroku上,我使用这样的设置:

CHAT_WS_SERVER_HOST = '0.0.0.0'
CHAT_WS_SERVER_PORT = os.environ['PORT'];
CHAT_WS_SERVER_PROTOCOL = 'ws'

Python代码websocket = new WebSocket(base_ws_server_path + '{{ request.session.session_key }}/' + opponent_username);

客户端上的JS代码websocket = new WebSocket(base_ws_server_path + 'jgvnf53ky1m1lxt1vrka9lcnfilwhkrv/' + opponent_username);

Fihishws://0.0.0.0:41540/jgvnf53ky1m1lxt1vrka9lcnfilwhkrv/Pechkin

我读到这是由于证书(wss \ https)而引起的问题,但是我现在不使用他...或者使用了错误的IP

Upd_1error Still in CONNECTING state

Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.

javascript heroku websocket
1个回答
0
投票
IP地址0.0.0.0是指本地服务器。当您的浏览器连接到该地址时,它将到达运行该浏览器的计算机(例如您的笔记本电脑)。由于您希望它连接到Heroku应用,因此您需要将值0.0.0.0替换为Heroku应用的主机名,例如your-app-name.herokuapp.com。这样,浏览器将通过Internet连接到您的Heroku应用。

浏览器中的URL应该看起来像ws://your-app-name.herokuapp.com:...

© www.soinside.com 2019 - 2024. All rights reserved.