Apache Thrift和Android:TTransportException

时间:2013-09-10 20:34:19

标签: java php android apache thrift

Apache Thrift在android中的问题。

我正在使用Apache Thrift。 有一个PHP服务器。 有一个Java客户端(简单Java项目)。 一切正常。

在Android上创建客户端时,与服务器的连接成功。这些函数在服务器上处理,但在应用程序中我收到错误:

TTransportException: No more data available.

运输 - http。 协议 - 二进制。

创建客户端的代码(在简单的java项目和android项目中也是如此):

TTransport transport = new THttpClient ("http://test.../PhpServer.php");
TProtocol protocol = new TBinaryProtocol (transport);
TestService.Client client = new TestService.Client (protocol);
transport.open ();
try {
    client.EchoI32 (4);
} Catch (SysException e) {
    e.printStackTrace ();
} Catch (TException e) {
    e.printStackTrace ();
}

logcat的:

09-09 14:43:07.107: W/System.err(31729): org.apache.thrift.transport.TTransportException: No more data available.
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.transport.THttpClient.read(THttpClient.java:190)
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:359)
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:278)
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:185)
09-09 14:43:07.107: W/System.err(31729):  at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
09-09 14:43:07.107: W/System.err(31729):  at com.test.protocol.TestService$Client.recv_EchoI32(TestService.java:912)

0 个答案:

没有答案