標準のPhoenix websocket/channel環境を設定しましたが、socket.jsを使用していません - チャンネルとトピックに接続する独自の(非常に単純な)コードがあります。しかし、私は1分程度以上持続するソケットを取得することはできません。ソケットのタイムアウトを定義する方法はありますか?Websocketのタイムアウトが早すぎます
const ws = new WebSocket(sock_url);
ws.onmessage = (msg) => {
const { payload, event } = JSON.parse(msg.data);
if (!event.startsWith("phx_")) {
onMessage(payload.body);
}
};
ws.onclose = (code, reason) => {
onClose(code, reason);
};
ws.onopen =() => {
ws.send(JSON.stringify({
topic: `users_socket:${user_id}`,
event: "phx_join",
payload: {},
ref: '1'
}));
};
更新:私はソケットを使用して終了し、私は次のように私のjavascriptのコードがある(ドキュメントごとなど、すべての標準)フェニックス側に
を特別な設定はありません。誰もが示唆したようにPhoenixに付属のjsファイル - 私は必要なものすべてを実行します。お答えいただき、ありがとうございました:)
提供されたphoenixソケットモジュールを使用していない理由はありますか? –
これは大きなライブラリの一部です。要求は、コードをシンプルで「外部」ライブラリから解放することでした。しかし、このタイプの問題が多すぎると、phoenixに付属のJSコードを使用することになります。 – user1595077