タグ

ブックマーク / www.daisukekobayashi.com (3)

  • Apache Thrift を使う 4 - Python と連携

    今回は前回作成したサンプルの Python 版を作ってみます.手順は前回と同じで, thrift ファイルを作成したあとコンパイルを実行しサーバーサイドとクライアントサイドを実装します.まず前回作成した thrift ファイルに下記のように python 用の namespace を追加します. namespace cpp calc namespace py calc service Calculator { double plus(1: double arg1, 2: double arg2), double minus(1: double arg1, 2: double arg2), double multiplies(1: double arg1, 2: double arg2), double divides(1: double arg1, 2: double arg2), } コ

  • Apache Thrift を使う 5 - C++ Nonblocking Server

    今日は C++ で Nonblocking Server を構築してみます. 昨日まで使用していた TSimpleServer は Blocking Server です.Blocking Server とはその名の通り,処理をリクエストしたときに処理が完了するまでクライアント側に制御が戻りません. そういう処理で問題ないなら別にいいのですが, 一度に複数のリクエストを処理したいとか,すぐにクライアント側で別の処理を したいとかあると思います.むしろそういう方が多いですかね? まずはサーバーサイド,追加の include と main を少し変更します.newSimpleThreadManager に渡している数字は一度に処理できる リクエスト数です.libthriftnb,libevent のリンクをお忘れなく.WindowsPython は Nonblocking Server に

  • Apache Thrift を使う 3 - VCでサンプルを動かす

    今回は簡単なサンプルを作成してみましょう.Thrift の特徴として他言語間での RPC が可能という特徴がありますが,今回は四則演算を行う簡単なソフトをクライアント/サーバーともに C++で作成します.以下の手順で行います. thrift ファイルの定義とクライアント/サーバーコードの生成サーバーの実装クライアントの実装1. thrift ファイルの定義とクライント/サーバーコードの生成IDL で thrift ファイルを記述し,前回作成したコンパイラでコンパイルすることでクライアント/サーバーの通信部分を自動生成してくれます.まずは Calculator.thrift というファイルを作成し下記のように記述して下さい. namespace cpp calc service Calculator { double plus(1: double arg1, 2: double arg2),

  • 1