经测试研究,应该是协议问题,
public void startClient(String username) {
TTransport tTransport = null;
try {
tTransport = new TSocket(SERVER_IP, SERVER_PORT);
TTransport transport = new TFramedTransport(tTransport);
//协议要和服务端一致
TProtocol protocol = new TBinaryProtocol(transport);
HelloWorldService.Client client = new HelloWorldService.Client(protocol);
tTransport.open();
String result = client.sayHello(username);
System.out.println("Thrift client result=" + result);
} catch (Exception e) {
e.printStackTrace();
}
}
根据服务器端分析 ,新增代码:TTransport transport = new TFramedTransport(tTransport);
测试,通过。