Hatena::Groupocaml-nagoya

Gemmaの日記

2008-09-24

クライアントのソースを比べる

17:49

上で使ったOCamlクライアント

open Thrift;;
open Hello_types;;

let s = new TSocket.t "localhost" 9090;;
let p = new TBinaryProtocol.t s;;
let c = new Hello.client p p;;

s#opn;
print_string (c#hello "Gemma");
print_char '\n';
s#close;

Perlクライアント

use lib './gen-perl';

## Thrift インストール時にインストールされているライブラリ群
use Thrift;
use Thrift::BinaryProtocol;
use Thrift::Socket;

## IDL から gen-perl/ 以下に生成されたライブラリ
use Hello;

my $transport = Thrift::Socket->new('localhost', 9090);
my $client = HelloClient->new( Thrift::BinaryProtocol->new($transport) );

$transport->open();

printf "%s\n", $client->hello("Gemma");

$transport->close();

Rubyクライアントは試してないけど、きっとこんな感じ。

require 'thrift/transport/tsocket'
require 'thrift/protocol/tbinaryprotocol'
require 'Hello'

transport = TSocket.new('localhost', 9090)
client = Hello::Client.new( TBinaryProtocol.new(transport))

transport.open

puts client.hello("Gemma")

transport.close

言語がちがってもそっくりだ!

サーバーC++に限らず、いろんな言語で書ける。

SarahSarah2012/07/08 22:07way cool.. i just found out about transferring prnits onto weird surfaces, i was thinking about making some roller blinds with my photos . ok, i'm getting used to your voice now, somehow i thought it would be more rrrrrrico swavaaaay lol

vszrtnipsvszrtnips2012/07/10 02:30lQNezg , [url=http://xonupzqrkecb.com/]xonupzqrkecb[/url], [link=http://pghpldfnnvsp.com/]pghpldfnnvsp[/link], http://wwksmfnkncse.com/

tfrxkcnentfrxkcnen2012/07/11 02:084Ht5Cg <a href="http://pvudevpkkrxf.com/">pvudevpkkrxf</a>

vsucepvsucep2012/07/11 05:48UpHk2c , [url=http://hmtamamhryyf.com/]hmtamamhryyf[/url], [link=http://romfyrgxujqk.com/]romfyrgxujqk[/link], http://cwgtdezlocvj.com/