1
Chromeコンソールのフェニックス/リアクションアプリでこのエラーが発生しましたが、間違いなくではなく、がシークレットモードです。すべてが同じ/socket
エンドポイントを指しています。phoenix.js:ws:// localhost:4000/socketへのWebSocket接続に失敗しました
this.conn = new this.transport(this.endPointURL());
リアクトアプリはそうのようなエンドポイントを検索します。
WebSocket connection to 'ws://localhost:4000/socket/websocket?token=blah&vsn=1.0.0' failed: Error during WebSocket handshake: Unexpected response code: 400
が、これは誤りである場合、コンソールで強調表示されるものですので、それは感覚のビットを行い、トランスポート層、についてだと言います。
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'
にその行だけエラーがを読みます。
endpoint.ex
はかなり標準です:この
socket "/socket", App.UserSocket
なしアプリがお忍びで仕事といえ、そうでない場合は、すべてのこれらのエラーをロードする理由を指していません。