問題タブ [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.

0 投票する
1 に答える
1022 参照

c++ - fastcgi++ のセッション例を使用した websocket++

私は c++ の初心者で、Web プロトコルや WebSocket についてほとんど何も知らないので、ばかげているように思えるかもしれません。

私は 100% ajax の Web サイトを作成しており、WebSocket を組み込みたいと考えています。Fastcgi++ は ajax の要求に期待できるすべてのものですが、websocket はありません。websocket++ は多かれ少なかれ単純な#include.

私はfastcgi ++を理解したと思います。ほとんどのアクションは、セッションデータ http://www.nongnu.org/fastcgipp/doc/2.1/a00005.html に対して発生Fastcgipp::RequestするFastcgipp::Http::Sessionsようですただし、websocket https://github.com/zaphoyd/websocketpp/wiki/Creating-Applications-using-WebSocket--server::handlerを処理するには、websocket ++ で同じことを行う必要があると思いますが、今では海で迷っています。

C ++の経験がまったくない私を入力してください。仮想継承を使用する必要があると思いますが、わかりません。また、両方を適切に「サブクラス化」することさえできた場合、それらが互いに重複しないようにするにはどうすればよいですか?

websocket++ が fastcgi++ のセッション管理を使用する方法の基本的な例を示してください。

0 投票する
3 に答える
16129 参照

c++ - 「src/common.hpp:52:32:致命的なエラー:boost/shared_ptr.hpp:そのようなファイルまたはディレクトリはありません」websocket ++をビルドするとき

Linux や C++ については、ほとんど何も知りません。

私は一般的にこれらの指示に従って、ubuntu 12.10 http://piyushparkash.blogspot.com/2012/10/installing-boost-150-in-ubuntu-1210.htmlでブーストを構築しました。1.53.0 をダウンロードしました。

私は 1.2.2 の終わりのアドバイスに従い、./bootstrap.sh --exec-prefix=/usr/localすべてのライブラリが必要だったので実行しました。

ここで概要src/common.hpp:52:32: fatal error: boost/shared_ptr.hpp: No such file or directoryを説明すると、このエラーが発生しますhttps://github.com/zaphoyd/websocketpp/wiki/Build-Librarymake

Ifind / -name 'shared_ptr.hpp'の場合、一覧表示されます

/root/boost_1_53_0/boost/asio/detail/shared_ptr.hpp /root/boost_1_53_0/boost/interprocess/smart_ptr/shared_ptr.hpp /root/boost_1_53_0/boost/smart_ptr/shared_ptr.hpp /root/boost_1_53_0/boost/serialization/shared_ptr .hpp /root/boost_1_53_0/boost/shared_ptr.hpp

最初のリンクで説明されているように、それらはデフォルトおよび指定されたディレクトリにインストールされるべきではありませんか?

このエラーを解決するにはどうすればよいですか?

(「すべての」ライブラリを取得するためにこれを行いましたhttps://askubuntu.com/questions/259590/libapache2-mod-fastcgi-not-available )

apt-cache libboost-all-dev

1.49

apt-cache search boost | grep dev

0 投票する
1 に答える
284 参照

c++ - 1 つのクライアント メッセージが websocket++ 0.3X のすべてのメッセージ ハンドラーをトリガーしますか?

Websocket を学んだばかりですが、まだ C++ に無知です。

私は websocket++ 0.3X を使用していますが、これはまさに天の恵みです (1.0 が待ちきれません)。複数の同時接続があり、1 つのクライアントがサーバーにメッセージを送信した場合、メッセージは他のすべてのクライアントのハンドラーをトリガーしますか? そうでない場合、どうすればこれを行うことができますか?(これはマルチスレッドですか?)

私がやりたいことは明らかです。クライアントからのメッセージを介してデータベースを更新し、現在更新されたフィールドを表示している他のクライアントを更新します。

ソース:

http://www.zaphoyd.com/websocketpp/

https://github.com/zaphoyd/websocketpp/wiki

0 投票する
2 に答える
418 参照

c++ - websocket++ 0.3X でユーザーを追跡する方法

websocket++ 0.3X でユーザーごとのデータを追跡する方法はありますか?

彼らが何を見ているのか、何を彼らに送るべきなのかを追跡するために、私は彼らを識別できるようにしたいと思っています。例としてスタックを取り上げます: この質問を見ている間、websocket は、あなたこの質問を見ていることをメモリに保持し、投票、新しいコメントと回答、および左上隅の StackExchange の更新。

また、ユーザーを識別できる必要があります。すでに websocket++ に隠れている websocket に固有のセッション ID はありますか? そうでない場合、websocket++ はどのようにユーザーを追跡しますか?

0 投票する
1 に答える
249 参照

c++ - パイプ「アドレスシステム」

多分私はC ++でパイプを作成する方法を誤解しているのでhttp://linux.die.net/man/2/pipepipeですが、どこに送信または受信するかをどのように知っていますか?

ajaxページを介したデータベースの更新時に、そのajaxプログラムがWebsocketプログラムにメッセージを送信して、他の関連するすべてのユーザーを更新するようにしpipeたい.2つのc ++プログラムが互いのクラス/同じLinuxボックスで機能しますか? .

パイプは 1 つだけで、すべてのプログラムがそれを読み取ってメッセージを検証しますか?


注: 私は fastcgi++ と websocket++ を使用しています。

0 投票する
1 に答える
490 参照

c++ - この websocket++ の例を使用したスレッドセーフなユーザー データ

このwebsocket ++の例は、まさに私がその核心でやりたいことです。

ユーザーは で簡単に追跡できますがwebsocketpp::connection_hdl、投票、コメント、回答、左上隅のメッセージなどを更新するために見ているページをスタックが追跡する方法と同様に、ユーザーに関するより多くの情報を保持する必要があります。

このコード例で .push() が失敗したり、ロックされている間に待機したりするstd::queueのは、完全にスレッドセーフではないことがわかりましたか? push 用に最適化されたスレッドセーフな C/C++ キューで動作する方法を (おそらくスタック q を使用して) 見つけようとしています。さらに重要なことに、スレッドセーフなベクトルははるかに問題であることがわかりました C++のスレッドセーフなベクトルクラスboost::lockfree::queue

最初のリンクのコードから、ユーザー データ (現在表示されているスタックの質問など) をロックおよびブロックせずにスレッドセーフに追跡するにはどうすればよいですか?

0 投票する
1 に答える
1195 参照

c++ - websocketppのconnectionまたはconnection_ptrからネイティブソケット記述子を取得しますか?

connectionまたはからネイティブソケット記述子を取得する方法はありますconnection_ptrwebsocketpp?フレームをクライアントに送信する前に、TCP_CORKを設定する必要があります。Boost.Asioは初めてです。アドバイスしてください。

0 投票する
2 に答える
2637 参照

c++ - debug websocket++ broadcast_server.cpp ('owner_less' は 'std' のメンバーではありません)

Zaphoydは、Websocketbroadcast_server.cppサーバーの完璧なバックボーンのように見えます。これは、通信を中断しないように、実際のアクションのためのスレッドとのメッセージと接続をすばやく受け入れて送信できます。 https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp

彼の単純なprint_server.cpp例は簡単にコンパイルできます。ただし、でいくつかのコンパイル エラーが発生しbroadcast_server.cppます。

私は c++ を初めて使用します。これらはおそらく単純な問題ですが、解決方法がわかりません。

'owner_less' is not a member of 'std'? http://en.cppreference.com/w/cpp/memory/owner_less

template argument 2 error上記が解決すれば解消されると思います。

'con_list' was not declared in this scopeいつそこにあるのprivate:ですか?と同じ'm_connections'

'con_list' has not been declared上記のエラーが発生すると、それはなくなると思います。

'it'それが何について話しているのか、なぜその前にあるべきなのかわかりません;

バージョン

Ubuntu 12.10

gcc --version gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2

ブースト 1.53.0

余分#include

まだ何もない

-std=c++11

インストール方法(依存関係、実際のプログラムなど)

https://github.com/zaphoyd/websocketpp/wiki/Setup-0.3X-on-Ubuntu-12.10

代替歓迎

に代わるものがある場合はstd::owner_less、投稿してください。

0 投票する
1 に答える
571 参照

connection - WebSocketsPPv3ライブラリのクライアント接続制限

WebSocket ++ 0.3.xライブラリでは、アクティブな接続を持つことができるWebSocketクライアントの数の制限を決定するものは何ですか?スレッドごとに1つの接続ですか、それとも1つのスレッドで複数のWebSocketクライアント接続を処理できますか?後者の場合、1つのスレッドが保持できる接続の数はおおよそいくつですか?

基本的に、WebSocket++ライブラリが約25スレッドの空きがあるアプリケーションで処理できるクライアント接続の数を探しています。ライブラリのホームページは次のとおりです 。http ://www.zaphoyd.com/websocketpp

0 投票する
1 に答える
1965 参照

c++ - エラー C2182: '*': 型 'void' の不正な使用 c:\boost_1_53_0\boost\smart_ptr\intrusive_ptr.hpp

簡単にWindows 7ラップトップでwebsocket ++サーバーを開発しようとしています(viまだうまくいきません。常にftpしたくありません)。最後にUbuntu 12.10に移行します。

Visual C++ Win32 コンソール アプリケーション プロジェクトを使用しています。

includeディレクトリを調べてwebsocketpp、boost 1.53.0をインストールしました Windows に Boost.Build をインストールするにはどうすればよいですか? 、およびincluded & linked boost Boost リンク、Visual Studio およびバージョン管理

http://www.zaphoyd.com/websocketpp/manual/building-program-websocketしようとしていますbuild print_server.cpp

私がするとき、私は得るError 1 error C2182: '*' : illegal use of type 'void' c:\boost_1_53_0\boost\smart_ptr\intrusive_ptr.hpp Line:155 Column:1

ブースト コードは次のとおりです (2 行目は 155)。

このエラーが発生するのはなぜですか? どうすれば修正できますか?