Thrift下java服务器与客户端开发指南.doc
-
资源ID:33508894
资源大小:166KB
全文页数:9页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Thrift下java服务器与客户端开发指南.doc
-作者xxxx-日期xxxxThrift下java服务器与客户端开发指南【精品文档】THRIFTJava服务器及客户端开发指南文档编号BUPT-BNRC-CNGI-201005071333-UsageManual文档级别公共文档状态þ 草稿 ¨ 讨论稿 ¨ 正式发布文档作者张晴文档版本创建日期2010-10-17 16:33修改日期2010-10-17 17:23【精品文档】修订历史记录日期版本说明作者2010-05-071.0用Thrift开发Java服务器及客户端程序张晴相关联系人姓名电子邮件电话角色正文目录1 创建THRIFT文件4 编写4 运行thrift编译器,生成项目源文件42 创建JAVA服务器5 编写5 创建53 创建JAVA客户端74 编译及运行8 编译8 运行81 创建Thrift文件Thrift文件与编程语言无关,用于定义数据类型和服务接口,然后生成用来构建RPC客户和服务器所需的全部代码。1.1 编写#!/usr/local/bin/thrift -gen javanamespace java Testservice Something i32 ping()1.2 运行thrift编译器,生成项目源文件在linux命令行下输入:Thrift 生成的源文件在./gen-java/目录下。2 创建Java服务器进入./gen-java目录,确保系统的CLASSPATH设置正确。libthrift.jar,,slf4j-api和slf4j-simple这几个包都需要包含在CLASSPATH里。2.1package Test;import org.apache.thrift.TException;class SomethingImpl implements Something.Iface public SomethingImpl() public int ping() throws TException System.out.println( "Recieve ping from client." ); return 0;2.2package Test;import java.io.IOException;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.transport.TServerSocket;import org.apache.thrift.transport.TTransportException;public class Server private void start() try TServerSocket serverTransport = new TServerSocket(7911); processor = new Something.Processor(new SomethingImpl(); Factory protFactory = new TBinaryProtocol.Factory(true, true); TServer server = new TThreadPoolServer(processor, serverTransport, protFactory); System.out.println("Starting server on port 7911 ."); server.serve(); catch (TTransportException e) e.printStackTrace(); catch (Exception e) e.printStackTrace();public static void main(String args) Server srv = new Server(); srv.start(); 3 创建Java客户端package Test;import java.io.IOException;import org.apache.thrift.*;import org.apache.thrift.protocol.*;import org.apache.thrift.transport.*;public class Client public static void main(String args) try TTransport transport = new TSocket("localhost", 7911); TProtocol protocol = new TBinaryProtocol(transport); Something.Client client = new Something.Client(protocol); transport.open(); System.out.println("Client calls ping()"); client.ping(); transport.close(); catch (TException x) x.printStackTrace(); 4 编译及运行4.1 编译在linux命令行下输入:javac *.java,生成客户端与服务器端的class文件。4.2 运行首先启动服务器。退到gen-java目录,输入java Test/Server,屏幕显示如下:Starting server on port 7911 .然后启动客户端。在同一目录下输入java Test/Client,屏幕显示如下:Client calls ping()这时服务器端的输出多了一行:Recieve ping from client.