問題タブ [websocket++]
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.
c++ - websocketpp 接続パスを処理する
私は本当にwebsocketppの初心者です。サーバーの新しい接続で websocket 接続パスを取得するにはどうすればよいですか? 私はこれの一部を取得する必要があることを意味します:
このリンクの例を使用しています: http://www.zaphoyd.com/websocketpp/manual/common-patterns/storing-connection-specificsession-information
c++ - 一度に 1 つのクライアントのみにサービスを提供する WebSocket サーバーを実装する方法
WebSocket サーバーを実装するために WebSocket++ ライブラリを使用しています。
サーバーの特性上、一度に 1 つのクライアントのみにサービスを提供したいと考えています。つまり、クライアントがサーバーに接続されたら、既に接続されているクライアントが切断されるまで、他の潜在的なクライアントからのリッスンを停止したいと考えています。
現在、私のサーバーは次のようになっています。
リスニングを一時停止して再開するにはどうすればよいですか、または同時クライアントの数を制限するためのパラメーターはありますか?
tcp - websocketpp で 2 つの接続のみをリッスンする
個人的な HTML + Javascript チャットに使用する websocketpp ライブラリを使用して、単純なブロードキャスト サーバーをセットアップしました。1つだけ例外を除いて、今まではすべてが完璧でした。このチャットは、同時に 2 人だけを対象としています。3 分の 1 が入ろうとすると、ドアを閉めなければなりません。したがって、ロジックは次のとおりです。
1 -> サーバーがリッスンしています。
2 -> アリスが接続します。
3 -> ボブが接続します。
4 -> サーバーがリッスンを停止します。Alice + Bob にブロードキャストします。
5 -> Carlos は接続を試みますが、ポートが閉じられます。
6 -> ボブが切断します。
7 -> カルロスが接続します。
8 -> サーバーがリッスンを停止します。Alice + Carlos にブロードキャストします。
最初はこれは簡単なことだと思っていましたが、多くのエラーと読書の後、私は単に立ち往生しています。ハンドシェーク プロセス後にサーバーのリッスンを停止することはできますが、その後、message_handler
サーバー側での動作が停止し、クライアントが完全に接続されているにもかかわらず、クライアントからメッセージを取得できません。私は について知ってset_validate_handler
おり、同時に 2 つの接続のみを許可するように既に設定していますが、これによりサーバーはリッスンしたままになります。私が必要としているのは、サーバーがポートでのリッスンを停止する方法です。
私はリスニングを閉じて、この方法ですでに確立された接続を維持しようとしています:
ただし、次の出力が得られます。
クライアントは接続さえできません。それ以外の場合、m_server.stop_listening();
接続の確立後に を使用すると、クライアントは完全に接続されたままになりますが、サーバーはメッセージの受信を停止するか、少なくとも でメッセージを取得できませんvoid on_message( connection_hdl hdl, server::message_ptr msg )
。
websocket - サブプロトコルに基づいて Websocket 接続をディスパッチする
同じポートでリッスンし、サブプロトコル名を使用してディスパッチする複数の websocket サーバーを実行することは技術的に可能ですか? たとえば、「protocol1」を処理するプロセスと「protocol2」を処理する別のプロセスです。TCP は条件付きで接続を受け入れることができないため、そうではないのではないかと思います。したがって、唯一の方法は、ある種のソケット所有権の転送です。
c++ - VS2015 はサブディレクトリにインクルード ヘッダーを見つけることができません
VS2015 のプロジェクトに WebSocket++ ヘッダーのみのライブラリを含めようとしています。hpp ファイルがヘッダー フィルターに表示されるように、websocketpp フォルダーをソース ディレクトリに追加してプロジェクトに含めました。しかし、ライブラリのサンプル コードをコンパイルしようとすると、ソース ファイルを開けないというエラーが表示され続けます。
私は解決策を探していて、websocketpp フォルダーをプロジェクトのインクルード ディレクトリと追加のインクルード ディレクトリに追加しようとしましたが、問題の解決策が見つかりませんでした。誰でもこの問題を解決する方法を知っていますか?
c++ - ブースト エンドポイントのリッスン/実行エラーを処理する
間違った/ビジーなポートを設定すると、エンドポイントのエラーを取得できません。ブースト エンドポイントからパブリックに継承された websocket サーバーを使用します。ここでエラーを処理したい:
m_server.is_listening() 、 m_server.stopped() などを試しましたが、通常のポート番号と悪いポート番号の両方で同じ結果が表示されます。エラーを処理するにはどうすればよいですか?
UPD1: websocketppライブラリを使用しています
c++ - WebSocket++、on_message イベント
このコードに問題があります:
このエラーが発生し続けるだけです: エラー写真
私は CPP の初心者で、すべての機能を理解していません。最初は「message_ptr」を理解できないと言っていましたが、次のように追加しました。
そして、それはまだ機能していません。修正方法は?
c++ - 単純なクライアントを作成するための websocketcpp の使用
ブーストとwebsocket ++を正しくセットアップしようと何時間も試みた後、サーバーにいくつかのメッセージを送信するだけの単純なクライアントをwebsocket ++に実装しようとしています。
私が見つけた唯一の例は、OnMessage() に反応するだけのエコー クライアントです。メッセージをソケットに送信する他の方法はありませんか? または、OnConnection() や WhileRunning() など、定義する必要がある他のイベントがありますか?
Zaphohyd Websocket ++「Echo_Client」について話しています。単純なブロードキャスト サーバーは希望どおりに動作していますが、ソケットにメッセージを送信するだけの例がないため、クライアントに問題があります。
ありがとう!