Opa を使用してオンラインの複数プレイヤー ゲームを作成しています。クライアント接続の操作方法についていくつか質問があります。
これが私のコードの抜粋です:
function game_view(){
function page_ready(){
// observe game messages
_ = Network.observe(game_msg_received,game_channel);
// set disconnect function
_ = ClientEvent.set_on_disconnect_client(function(c){
//do something when client is disconnected
...
});
}
<div onready={function(_){ page_ready() }}>
//page content
...
</div>
}
切断機能は、タブまたはウィンドウを閉じてから約 2 分 (4 回の ping 失敗の時間だと思います) に有効になります。私の場合は長すぎます。調整できますか?
このページを離れる (タブを閉じる、または他のページにジャンプする) と、しばらくすると次のようなエラー メッセージが表示されます。
[SESSION] キャッチされない例外: "{OpaRPC_Server: {timeout: {client: {client: $"46rrpwmeiq28ql0d8lgz7e35zt8d701c"$; page: $934885115$}; fun_id: $"__set_game_Mygame"$}}}" 次のメッセージはスキップされます: Ifあなたがしたい (msg, st, ctx) デバッグ印刷 set debug variable session_debug >= 200
ページがもう存在しないためだと思いますが、関数 'game_msg_received' はまだゲーム メッセージを受信したときにこのページに通知しようとします。このエラーを回避するにはどうすればよいですか?