問題タブ [cowboy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
websocket - カウボーイが港に向かう
私は web-socket プロジェクトに取り組んでおり、web-socket カウボーイ サーバーが 8080 ポートをリッスンするが、メッセージを別のポートに転送する必要があります。それをしてもいいですか ?どんな助けでも大歓迎です
websocket - Cowboy start_listener() 実行時の例外
http://maplekeycompany.blogspot.in/2012/03/very-basic-cowboy-setup.htmlリンクをたどりましたが、このプロジェクトを実行すると、カウボーイ start_listener() が定義されていないことを示すクラッシュ レポートが表示されます。
このエラーの意味と解決方法を教えてください。
websocket - rebarを使用してErlangカウボーイでリリースを生成する際の例外?
Erlang Cowboy gen サーバー チャット アプリケーションを作成しています。そのためにhttps://github.com/hcs42/cowboy_tutorial_webchatリンクをたどっています。Erlang/otp 17 を使用していますが、「./rebar generate」を実行すると次のエラーが表示されます。
reltool.config ファイル
このエラーを解決するにはどうすればよいですか? 提案するよりも、Erlang カウボーイ gen_server チャット アプリケーションを作成するためのより良いリンクを知っている場合。
erlang - Cowboy Web サーバー - パフォーマンスの向上
Cowboy は erlang で書かれた Web サーバーです。リクエストごとに新しいプロセスを生成し、HTTPパイプラインの場合は後続のリクエストにそのプロセスを使用します(レスポンスを待たずに同じソケットで複数のリクエストを次々に送信し、リクエストが送信されたのと同じ順序でレスポンスが返されると想定します)クライアントによって使用されます。
これは問題ありませんが、その Web サーバーを使用してリアルタイム Web アプリケーションを構築する場合、1 つの問題があります。たとえば、クライアント ネットワークの問題が原因でソケットが閉じられると、サーバー上のそのソケットを表すプロセスが終了します。つまり、一部のセッション データを保存するためにそのプロセスを使用することはできません (リアルタイム Web アプリでは、おそらく http 要求の末尾に移動し (たとえば、ロング ポーリングが使用されている場合)、接続されたクライアントに関連付けられた状態を保持する必要があるためです)。 httpリクエストが終了したとしても、「彼はオンラインだ」と考えてください。
sock.js では、各クライアント (各セッション ID) に対してもう 1 つのプロセスを生成することで解決されます。
したがって、websocket を使用するクライアントが 2000 ある場合、約 4k のプロセス (そのソケットを表すカウボーイからのプロセスが 1 つと、カウボーイ プロセスが終了する場合 (たとえばネットワークの問題が原因で) に備えてセッション状態を維持するためのプロセスがもう 1 つ) になります。
質問:私は erlang に比較的慣れていないので、パフォーマンスの向上に関して意味があるかどうかはわかりませんが、Cowboy Web サーバーを少し書き直して、リアルタイム接続を表すプロセスが終了するまで終了しないようにすることを考えています。必要です (下層の websocket ソケットが終了しても、プロセスは存続します)。
これにより、クライアントごとにもう 1 つのセッション プロセスを用意する必要がなくなります。つまり、4000 のプロセスではなく、2000 のプロセスしかありません。erlang のパフォーマンスを大幅に向上させることはできますか?