1
我在Phoenix/React应用的Chrome控制台中出现此错误 - 但奇怪的是,而不是处于隐身模式。一切都指向相同的/socket
端点。phoenix.js:WebSocket连接到ws:// localhost:4000 /套接字失败
WebSocket connection to 'ws://localhost:4000/socket/websocket?token=blah&vsn=1.0.0' failed: Error during WebSocket handshake: Unexpected response code: 400
Various sources说这是对传输层,这使得位的意义,因为这是在控制台突出显示错误所在:
this.conn = new this.transport(this.endPointURL());
的阵营应用发现端点就像这样:
const API_URL = 'http://localhost:4000/api';
const WEBSOCKET_URL = API_URL.replace(/(https|http)/, 'ws').replace('/api', '');
function connectToSocket(dispatch) {
const token = JSON.parse(localStorage.getItem('token'));
const socket = new Socket(`${WEBSOCKET_URL}/socket`, {
params: { token },
});
socket.connect();
dispatch({ type: 'SOCKET_CONNECTED', socket });
}
NB:修订该行const socket = new Socket('${WEBSOCKET_URL}/socket/websocket'
只是使误差读.../socket/websocket/websocket?...
。
的endpoint.ex
是非常标准:
socket "/socket", App.UserSocket
的这一切都指向应用程式为何在隐身工作,否则加载所有这些错误,但。