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)