Thrift java服务器与客户端示例
2013-04-26 17:07
337 查看
简单的实现一个PING的功能
1.安装thrift
http://thrift.apache.org/download/
人人网镜像下载:
http://labs.renren.com/apache-mirror/thrift/0.6.1/thrift-0.6.1.exe
2.编写Thrift文件(定义接口,结构,异常等),保存为test.thrift
3.生成接口代码
把thrift-0.6.1.exe和test.thrift文件放在同一个目录,当然也可以把thrift-0.6.1.exe文件放进环境变量
进入DOS命令执行:thrift-0.6.1.exe --gen java test.thrift
生成文件 gen-java/net/johnc/thrift/Test.java
4.编写服务端接口实现类
在POM.xml文件加入以下依赖:
把生成的Test.java复制到项目下
5.编写启动服务代码
6.编写客户端代码
1.安装thrift
http://thrift.apache.org/download/
人人网镜像下载:
http://labs.renren.com/apache-mirror/thrift/0.6.1/thrift-0.6.1.exe
2.编写Thrift文件(定义接口,结构,异常等),保存为test.thrift
namespace java net.johnc.thrift service Test{ void ping(1: i32 length) }
3.生成接口代码
把thrift-0.6.1.exe和test.thrift文件放在同一个目录,当然也可以把thrift-0.6.1.exe文件放进环境变量
进入DOS命令执行:thrift-0.6.1.exe --gen java test.thrift
生成文件 gen-java/net/johnc/thrift/Test.java
4.编写服务端接口实现类
在POM.xml文件加入以下依赖:
<dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.6.1</version> </dependency>
把生成的Test.java复制到项目下
package net.johnc.thrift; import org.apache.thrift.TException; public class TestImpl implements Test.Iface { public void ping(int length) throws TException { System.out.println("calling ping ,length=" + length); } }
5.编写启动服务代码
package net.johnc.thrift; import net.johnc.thrift.Test.Processor; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TBinaryProtocol.Factory; import org.apache.thrift.server.TServer; import org.apache.thrift.server.TThreadPoolServer; import org.apache.thrift.server.TThreadPoolServer.Args; import org.apache.thrift.transport.TServerSocket; import org.apache.thrift.transport.TTransportException; public class Server { public void startServer() { try { TServerSocket serverTransport = new TServerSocket(1234); Test.Processor process = new Processor(new TestImpl()); Factory portFactory = new TBinaryProtocol.Factory(true, true); Args args = new Args(serverTransport); args.processor(process); args.protocolFactory(portFactory); TServer server = new TThreadPoolServer(args); server.serve(); } catch (TTransportException e) { e.printStackTrace(); } } public static void main(String[] args) { Server server = new Server(); server.startServer(); } }
6.编写客户端代码
package net.johnc.thrift; import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; public class Client { public void startClient() { TTransport transport; try { transport = new TSocket("localhost", 1234); TProtocol protocol = new TBinaryProtocol(transport); Test.Client client = new Test.Client(protocol); transport.open(); client.ping(2012); transport.close(); } catch (TTransportException e) { e.printStackTrace(); } catch (TException e) { e.printStackTrace(); } } public static void main(String[] args) { Client client = new Client(); client.startClient(); } }
相关文章推荐
- Thrift java服务器与客户端示例
- Thrift java服务器与客户端示例 - john c - 博客园
- Thrift java服务器与客户端示例
- 使用thrift实现了Java服务器和nodejs客户端之间的跨平台通信
- JAVA BIO 服务器与客户端实现示例
- unity客户端与java服务器利用thrift通信初试
- JAVA NIO 服务器与客户端实现示例
- JAVA AIO 服务器与客户端实现示例(代码2)
- JAVA NIO 服务器与客户端实现示例 推荐
- Java thrift服务器和客户端创建实例代码
- JAVA AIO 服务器与客户端实现示例
- Java Thrift服务器和客户端创建
- JAVA BIO 服务器与客户端实现示例
- JAVA NIO 服务器与客户端实现示例(代码1)
- JAVA AIO 服务器与客户端实现示例
- Java实现简单的Socket服务器与客户端字符串通讯(适合初学者阅读)
- Digdata Development Java__Study_12(Java实现服务器与客户端)
- java客户端登陆服务器用户名验证
- JAVA程序设计(19)----- 查询信息的服务器 客户端设立 支持并发多线程
- android客户端与javaweb服务器端数据通信-Post-键值对