You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by Ury Stankevich <ur...@gmail.com> on 2009/11/20 11:59:13 UTC
erlang, framed transport
Hi !
i have question about erlang framed transport:
i start a server:
thrift_socket_server:start([{handler, Handler},
{service, queue_thrift},
{port, Port},
{framed, true},
{name, q_server}]).
on client side:
{ok, Client} = thrift_client:start_link("127.0.0.1",
Port,
queue_thrift,
[{framed, true}]
),
{ok, Res} = thrift_client:call(Client, 'push', ["qname1", "somevalue1"]),
io:format("push rc ~p~n", [Res]),
{ok, Res1} = thrift_client:call(Client, 'pop', ["qname1"]),
io:format("pop = ~p~n", [Res1]),
second call( to pop) is failed:
but i can see that server is reached (by debug print)
error is:
** exception exit: {case_clause,{error,no_binary_protocol_version}}
in function thrift_client:read_result/3
in call from thrift_client:catch_function_exceptions/2
in call from thrift_client:handle_call/3
in call from gen_server:handle_msg/5
in call from proc_lib:init_p/5
if i set framed to false - then all is working.
thrift interface is:
i16 push(
1:string name,
2:binary data
)
binary pop(
1:string name
)