RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
2014-08-31 22:54
826 查看
本文主要介绍两部分内容:
C#中使用Thrift简介
用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互。
用纯C#实现Client和Server
C#服务端,Java客户端
其中使用到RPC学习----Thrift快速入门和Java简单示例,这篇文章创建的Java服务端。
1、下载thrift
1)点击下载:thrift-0.9.1.tar.gz (或者http://thrift.apache.org/download)
2)Thrift compiler for Windows (thrift-0.9.1.exe)
两个都要下载。
2、引入thrift.dll
这里将下载好的.gz文件解压后,然后找到lib目录
View Code
C#服务端“开户服务”的事件和纯C#版的代码是一样的,如下:
本文源码:https://github.com/amosli/rpc/tree/thriftCsharp
纯C#版实现主要参考:http://www.cnblogs.com/hanmos/archive/2011/09/15/2177891.html
C#中使用Thrift简介
用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互。
用纯C#实现Client和Server
C#服务端,Java客户端
其中使用到RPC学习----Thrift快速入门和Java简单示例,这篇文章创建的Java服务端。
一、C#中使用Thrift简介
关于rpc的简介,可以参考:RPC学习----Thrift快速入门和Java简单示例1、下载thrift
1)点击下载:thrift-0.9.1.tar.gz (或者http://thrift.apache.org/download)
2)Thrift compiler for Windows (thrift-0.9.1.exe)
两个都要下载。
2、引入thrift.dll
这里将下载好的.gz文件解压后,然后找到lib目录
package com.amos.thrift; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import java.util.List; import java.util.Map; 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; /** * Created by amosli on 14-8-12. */ public class BlogClient { public static final String SERVER_IP = "localhost"; public static final int SERVER_PORT = 7911; public static final int TIMEOUT = 3000000; /** * @param args */ public static void main(String[] args) { BlogClient client = new BlogClient(); client.startClient("amosli"); } /** * @param userName */ public void startClient(String userName) { TTransport transport = null; try { transport = new TSocket(SERVER_IP, SERVER_PORT, TIMEOUT); // 协议要和服务端一致 TProtocol protocol = new TBinaryProtocol(transport); // TProtocol protocol = new TCompactProtocol(transport); // TProtocol protocol = new TJSONProtocol(transport); ThriftCase.Client client = new ThriftCase.Client(protocol); transport.open(); //case 1 client.testCase1(1, 2, "3"); //case 2 Map<String, String> num1 = new HashMap<String, String>(); num1.put("username", "amosli"); num1.put("address", "shanghai"); client.testCase2(num1); //case 3 client.testCase3(); //case 4 List<Blog> list = new ArrayList<Blog>(); ByteBuffer content = ByteBuffer.allocate(30); content.put("this is content java client".getBytes()); Map<String, String> props = new Hashtable<String, String>(); props.put("one", "1"); props.put("two", "2"); props.put("three", "3"); list.add(new Blog("topic1 is rpc", content, System.currentTimeMillis(), "001", "192.168.0.11", props)); list.add(new Blog("topic2 is rpc too!", content, System.currentTimeMillis(), "002", "192.168.0.12", props)); client.testCase4(list); System.out.println("blog client stop ...."); } catch (TTransportException e) { e.printStackTrace(); } catch (TException e) { e.printStackTrace(); } finally { if (null != transport) { transport.close(); } } } }
View Code
C#服务端“开户服务”的事件和纯C#版的代码是一样的,如下:
Thread thread = new Thread(new ThreadStart(new ThreadStart(new BlogServer().StartServer))); thread.Start();//start
本文源码:https://github.com/amosli/rpc/tree/thriftCsharp
纯C#版实现主要参考:http://www.cnblogs.com/hanmos/archive/2011/09/15/2177891.html
相关文章推荐
- C#使用Thrift简介,C#客户端和Java服务端相互交互
- netty学习九:(window7上)python客户端通过thrift调用java服务端
- java学习总结——Apache thrift服务端与客户端的创建
- Apache XML-RPC入门:使用java搭建服务端和客户端
- Java中使用socket实现客户端与服务端交互
- Apache XML-RPC (2.0/3.0)入门:使用java搭建服务端和客户端
- 一次C#客户端与Java Web服务器的交互经历(求助)
- Java动态代理类(包括客户端服务端使用反射机制来代理的)
- [zz]使用thrift做c++,java和python的相互调用
- 使用thrift进行跨语言调用(php c# java)
- 使用QHttp与C#编写的服务端交互(编译环境mingw)
- 使用Visual Studio的RPC调试功能同时调试COM程序的客户端和服务端
- Thrift源码修改,改造RPC,支持多Processor模式(C#客户端调用)
- thrift JAVA服务端 python客户端的实现
- JAVA与C#的TCP通信——JAVA客户端,C#线程池服务端
- JSON-RPC-Java学习之类型映射及js客户端调用
- Java写的手机计费系统(作为学习参考的实例:关键是Java类库里面的date和Calendar的使用和相互转换,以及一些日期的实际问题)
- C#客户端与Java程序使用socket连接并通信的兼容问题
- Ext4核心组件Grid的变化及学习(4):grid与服务端使用direct进行数据交互
- 使用Visual Studio的RPC调试功能同时调试COM程序的客户端和服务端