Thrift0.9.0的简单示例,java实现客户端服务端
2012-12-11 15:45
295 查看
前提,安装了Thrift-0.9.0,用到的jar包:
libthrift-0.9.0.jar log4j.1.2.14.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar
编写test.thrift文件
namespace java com.test struct RS { 1:i32 code=0; 2:string id; 3:list<RRL> children; 4:string account } struct RRL { 1:string id; 2:string name; 2:string desc } service CWS { RS getUserInfo(1:string name) }
执行以下命令
cd d: thrift --gen java test.thrift
新建java工程,吧D盘下gen-java下的com文件复制到项目的src下,导入jar包。文件会报错。只要把报错的地方的@override删除即可。
编写接口实现代码和服务端代码:
public class CWSImpl implements CWS.Iface{ public RS getUserInfo(String name) throws TException{ if(name==null || name.equals("")){ return null; } RS rs = new RS(); rs.setCode(0); rs.setId("1001"); } public static void main(String[] args){ try{ CWSImpl handler = new CWSImpl(); CWS.Processor<CWSImpl> processor = new CWS.Processor<CWSImpl>(handler); TServerTransport serverTransport = new TServerSocket(9000); TServer server = new TSimpleServer(new TServer.Args( serverTransport).processor(processor)); System.out.println("Starting server..."); server.serve(); } catch(Exception e){ e.printStackTrace(); } } }
编写客户端代码:
public class TestClient{ public static void main(String[] args){ try{ TTransport transport = new TSocket("localhost", 9000); transport.open(); TProtocol protocol = new TBinaryProtocol(transport); CWS.Client client = new CWS.Client(protocol); System.out.println("client test: "); RS rs = client.getUserInfo("tom"); System.out.println("code: " + rs.getCode() + ", id: " + rs.getId()); transport.close(); } catch (TException e) { e.printStackTrace(); } } }
运行
相关文章推荐
- 文件上传简单服务端和客户端 Java 实现
- PHP基于socket实现的简单客户端和服务端通讯功能示例
- java.UDP通信(实现服务端与客户端简单的聊天)
- java实现Thrift服务端和客户端
- java 实现简单http服务端,客户端DEMO
- python实现socket客户端和服务端简单示例
- Java中利用socket实现简单的服务端与客户端的通信(基础级)
- java中自己实现一个服务端对应多个客户端的简单代码
- JAVA NIO实现服务端与客户端简单数据传输 JAVA NIO 之一
- Java简单实现TCP服务端和客户端通信
- thrift JAVA服务端 python客户端的实现
- Java review--NIO实例:实现服务端和客户端的简单通信
- Java简单实现UDP服务端和客户端的通信
- python实现socket客户端和服务端简单示例
- MyEclispe基于JAX-WS的WebService服务端客户端简单实现示例
- Java中利用socket实现简单的服务端与客户端的通信(入门级)
- golang实现简单的udp协议服务端与客户端示例
- 简单的java socket客户端和服务端示例
- Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
- thrift JAVA服务端 python客户端的实现