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
的這一切都指向應用程式爲何在隱身工作,否則加載所有這些錯誤,但。