C#使用Thrift简介,C#客户端和Java服务端相互交互
2014-09-01 15:30
549 查看
C#使用Thrift简介,C#客户端和Java服务端相互交互
本文主要介绍两部分内容:
C#中使用Thrift简介
用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互。
用纯C#实现Client和Server
其中使用到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目录
用vs打开后,如下图所示,然后右键--》重新生成---》生成thrift.dll
3、生成cs文件
hello.thrift
使用命令生成cs文件:
关于thrift-0.9.1.exe的使用方法可以查看命令: [b]thrift-0.9.1.exe -help[/b]
将生成的HelloWorldService.cs文件拷入项目中。
2、使用vs新建一个winform程序
button点击事件:
HelloWorldServiceClient.cs
HelloWroldImpl.cs
效果图:
注:下面是改进版的,主要添加了纯C#版的:
纯C#版是说用C#实现客户端和服务端,下面是纯c#版的输出:
本文源码:https://github.com/amosli/rpc/tree/thriftCsharp
纯C#版实现主要参考:http://www.cnblogs.com/hanmos/archive/2011/09/15/2177891.html
分类: other, C#, java学习
标签: C#, C# 使用Thrift简介, C#客户端和Java服务端相互交互, Thrift
本文主要介绍两部分内容:
C#中使用Thrift简介
用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互。
用纯C#实现Client和Server
其中使用到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目录
用vs打开后,如下图所示,然后右键--》重新生成---》生成thrift.dll
3、生成cs文件
hello.thrift
service HelloWorldService { string sayHello(1:string username) }
使用命令生成cs文件:
thrift-0.9.1.exe -gen csharp hello.thrift
关于thrift-0.9.1.exe的使用方法可以查看命令: [b]thrift-0.9.1.exe -help[/b]
将生成的HelloWorldService.cs文件拷入项目中。
二、C#客户端发送消息到Java生成的服务端,实现跨平台操作
1、启动Java版的服务端2、使用vs新建一个winform程序
button点击事件:
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != null) { new HelloWorldServiceClient().startClient(textBox1.Text.Trim()); } }
HelloWorldServiceClient.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Thrift.Protocol; using Thrift.Transport; using Thrift; namespace thrfitCsharp { class HelloWorldServiceClient { public const string SERVERIP = "localhost"; public static int SERVERPORT = 8090; public static int TIMEOUT = 3000; public void startClient(String username) { TTransport transport = null; try { transport = new TSocket(SERVERIP, SERVERPORT, TIMEOUT); //协议要和服务端一致 TProtocol protocol = new TCompactProtocol(transport); HelloWorldService.Client client = new HelloWorldService.Client(protocol); transport.Open(); String result = client.sayHello(username); Console.WriteLine("Thrift client result =: " + result); } catch (Exception e) { Console.WriteLine(e.StackTrace); } finally { if (null != transport) { //close transport.Close(); } } } } }
HelloWroldImpl.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace thrfitCsharp { class HelloWroldImpl : HelloWorldService.Iface { public string sayHello(string username){ Console.WriteLine("hello"+username); return "hello" + username; } } }
效果图:
注:下面是改进版的,主要添加了纯C#版的:
纯C#版是说用C#实现客户端和服务端,下面是纯c#版的输出:
本文源码:https://github.com/amosli/rpc/tree/thriftCsharp
纯C#版实现主要参考:http://www.cnblogs.com/hanmos/archive/2011/09/15/2177891.html
分类: other, C#, java学习
标签: C#, C# 使用Thrift简介, C#客户端和Java服务端相互交互, Thrift
相关文章推荐
- RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
- Java中使用socket实现客户端与服务端交互
- 将FluorineFx作为客户端,使用C#调用ASPX服务端Flash Remoting
- thrift JAVA服务端 python客户端的实现
- 简介 WatiN是一个开源的用于Web测试自动化的类库,从watir中获得的灵感,使用C#开发。WatiN通过与浏览器的交互来实现自动化,使用起来具有轻便,简单的特点。目前最新版本为2.0,加入了对
- 使用thrift做c++,java和python的相互调用
- java服务端,python客户端交互
- java服务端客户端交互系列(一)socket连接
- Unity3D客户端和Java服务端使用Protobuf
- java实现Thrift服务端和客户端
- Unity3D客户端和Java服务端使用Protobuf
- socket连接 java服务器端 C#客户端进行交互 简单例子
- Apache XML-RPC入门:使用java搭建服务端和客户端
- C# client 与java netty 服务端的简单通信,客户端采用Unity。
- java做服务端,FLASH做客户端交互总结
- C#客户端与Java程序使用socket连接并通信的兼容问题
- Java动态代理类(包括客户端服务端使用反射机制来代理的)
- 使用QHttp与C#编写的服务端交互(编译环境mingw)
- 黑马程序员_Java基础_网络编程_客户端服务端数据传输,交互,客户端请求服务原理,自定义浏览器,URL统一资源定位符
- 使用thrift进行跨语言调用(php c# java)