Thrift交流(二)thrift服务端和客户端实现 Nifty
https://github.com/facebook/nifty
Nifty简单例子
1)环境搭建
pom文件
<dependency> <groupId>com.facebook.nifty</groupId> <artifactId>nifty-core</artifactId> <version>0.9.0</version> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.9.1</version> </dependency>
Thrift文件
namespace java example // defines the namespace typedef i32 int //typedefs to get convenient names for your types service ThriftTestService { string test(1:string name),//delay 3s}
Server文件
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.apache.thrift.TProcessor;import com.facebook.nifty.core.NettyServerTransport;import com.facebook.nifty.core.ThriftServerDef;import com.facebook.nifty.core.ThriftServerDefBuilder;import example.ThriftTestService;import example.ThriftTestServiceImpl;public class Server { /** * @param args */ public static void main(String[] args) { // Create the handler ThriftTestService.Iface serviceInterface = new ThriftTestServiceImpl(); // Create the processor TProcessor processor = new ThriftTestService.Processor<ThriftTestService.Iface>( serviceInterface); // Build the server definition ThriftServerDef serverDef = new ThriftServerDefBuilder().listen(7790) .withProcessor(processor).build(); // Create the server transport final NettyServerTransport server = new NettyServerTransport(serverDef); // Start the server server.start(); // Arrange to stop the server at shutdown Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { try { server.stop(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } }); System.out.println("服务器启动成功..."); }}
Client
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 example.ThriftTestService;public class Client { /** * @param args */ public static void main(String[] args) throws Exception { TTransport transport = new TSocket("localhost", 7790); transport.open(); TProtocol protocol = new TBinaryProtocol(transport); ThriftTestService.Client client = new ThriftTestService.Client(protocol); System.out.println(client.test("aa")); transport.close(); }}
Thrift交流(二)thrift服务端和客户端实现 Nifty相关推荐
- Netty学习笔记(二) 实现服务端和客户端
在Netty学习笔记(一) 实现DISCARD服务中,我们使用Netty和Python实现了简单的丢弃DISCARD服务,这篇,我们使用Netty实现服务端和客户端交互的需求. 前置工作 开发环境 J ...
- PYNQ 采集计划(二)Socket服务端与客户端的搭建,pynq到pc的数据流传输
文章目录 利用Socket搭建客户端和服务端 简易Socket收发 服务端的搭建 客户端的搭建 真正的视频socket收发 服务端 PC端客户端 进行测试 源码github地址 利用Socket搭建客 ...
- 搭建简易的物联网服务端和客户端-Maibu控制(二十一)
创建麦布应用程序,麦步按键控制.原理和网页控制差不多,就是麦步访问之前创建的两个buttonclick接口.感谢qs100371大神. 代码地址:https://github.com/ZZES-ZVD ...
- 【201】openssl生成服务端和客户端证书详解
内容目录(原文见公众号python宝) 一.基本知识点介绍二.openssl生成服务端和客户端证书www.xmmup.com 一.基本知识点介绍 要支持https请求,那就需要一个SSL证书. S ...
- 关于windows系统安装sybase数据库 服务端和客户端使sybase数据库服务启动失败的问题解决方案以sybase Ase _15.7为例
关于windows系统安装sybase数据库 服务端和客户端使sybase数据库服务启动失败的问题解决方案以sybase Ase _15.7为例 一.sybase Ase服务安装后能够正常启动,安装s ...
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- java sslsocket程序_JAVA与C++进行sslsocket通信,JAVA做服务端或客户端
前几天有位网友问我关于Unity3D里面使用Protobuf的方法,一时有事拖到现在才写这篇文章,不好意思哈. 本文测试环境: 系统:WINDOWS 7(第3.6步).OS X 10.9(第4步) 软 ...
- 【★更新★】高性能 Windows Socket 服务端与客户端组件(HP-Socket v2.0.1 源代码及测试用例下载)...
HP-Socket 以前为某大型通信项目开发了一套通用 Windows Socket TCP 底层通信组件,组件代号为 HP-Socket.现在把 HP-Socket 的所有代码向大众公开,希望能对大 ...
- netty tcp服务端主动断开客户端_【Netty】服务端和客户端
欢迎关注公众号:[爱编程] 如果有需要后台回复2019赠送1T的学习资料哦!! 本文是基于Netty4.1.36进行分析 服务端 Netty服务端的启动代码基本都是如下: private void s ...
- C# Socket服务端与客户端通信(包含大文件的断点传输)
步骤: 一.服务端的建立 1.服务端的项目建立以及页面布局 2.各功能按键的事件代码 1)传输类型说明以及全局变量 2)Socket通信服务端具体步骤: (1)建立一个Socket (2)接收 ...
最新文章
- 常用开源协议介绍以及开源软件规范列表
- matlab小波分析工具箱原理与应用_补充:频域特征值提取的MATLAB代码实现(小波分析)...
- Facebook、谷歌、微软利用“黑暗模式”诱骗用户交出数据
- (4)javascript的运算符以及运算符的优先级
- 整理了7道Python函数的练习题,希望对你学习函数有帮助
- 新年图书整理和相关的产品
- C++(静态)(常量)数据进行初始化问题以及静态变量析构
- 一日一学:返回排序好的列表的索引顺序
- python中if语句求最大值_python 判断三个数字中的最大值实例代码
- 卸载win10装Ubuntu笔记
- Linux基础(4)--用户与权限
- 报表FineReport部署Tomcat服务器
- 数据结构课程设计题目
- (附源码)计算机毕业设计SSM保险客户管理系统
- stmt php,PHP mysqli_stmt_free_result() 函数用法及示例
- 设置部署服务器的运行端口,以太坊swarm配置bzz运行常见问题解决方案
- PX4 Bootloader解析
- Win10、Win11打开远程桌面连接方法
- java scriptrunner,java使用ScriptRunner执行sql文件
- 单链表———带头结点跟不带头结点的区别
热门文章
- 强劲大小核结构 三星将推八核处理器
- android自定义四边形,以编程方式在Android中创建平行四边形绘图
- python求偏导_python中几种自动微分库解析
- 【C++005】结构体(值传递,地址传递,数组)
- 用代码关闭冰刃(IceSword)
- win10怎么显示文件后缀名,2个步骤,不到1分钟学会
- 还在为记不住js中的api烦恼吗?下面是我整理的我在学习js初级时用到过的部分api,希望能帮助到大家
- 编辑网页document.body.contentEditable=‘true‘;
- Bzoj4484 [Jsoi2015]最小表示
- 使用opencv读取rtsp流的图片帧进行目标检测,并将处理好的图像推到rtsp服务器上