0

カウボーイとsockjsの両方を使用するerlangアプリを開発していますが、websocket接続を処理するカウボーイプロセスとリンクすることは可能でしょうか?

現在、gen_server の動作を伴うプロセスは、各 websocet 接続に関連付けられています。このようなプロセスは Conn インスタンスを init に格納し、クライアントが接続を閉じると、このプロセスは websocket ハンドラーから終了します。gen_server プロセスが終了すると、クリーンアップを行う gen_server の terminate() から Conn:close が呼び出されます。それは機能しますが、trap_exit が有効になっていても終了関数が呼び出されない場合がいくつかあるため、このソリューションは好きではありません。したがって、リンクが可能であれば、より簡単なソリューションになります。

4

1 に答える 1

0

gen_serverでterminateが呼び出されないのはどのような場合ですか?

理論的には、ConnオブジェクトからPidを抽出できますが、それは明らかにカプセル化を破ります。

問題を解決する適切なAPIを提案できる場合は、プルリクエストを送信してください(プルリクエストで問題を詳細に説明してください)。

于 2012-10-03T11:45:10.667 に答える