golang nats request/reply模式
request端代码 request.go
package mainimport ("github.com/nats-io/nats.go""log""runtime""time"
)func main() {var url = "nats://192.168.17.102:4222"nc, err := nats.Connect(url, nats.Name("dalongdemo"))if err != nil {log.Fatal("connect error")}message, err := nc.Request("publice", []byte("I have send some messages to you!!!"), 10*time.Second)if err != nil {log.Println("get error, timeout", err)}log.Printf("接收到的消息: %v", string(message.Data))runtime.Goexit()
}
reply端 reply.go
package mainimport ("encoding/json""github.com/nats-io/nats.go""log""runtime"
)func main() {var url = "nats://192.168.17.102:4222"nc, err := nats.Connect(url, nats.Name("dalongdemo"))if err != nil {log.Fatal("connect error")}nc.Subscribe("publice", func(mess *nats.Msg) {log.Println(string(mess.Data),string(mess.Subject),string(mess.Reply))result, _ := json.Marshal(mess)log.Println("接收到的消息为:", string(result),)nc.Publish(mess.Reply, []byte("ok ok ok ok ok "))})runtime.Goexit()
}
golang nats request/reply模式相关推荐
- golang nats[5] cluster集群
集群模式 nats的集群模式对客户端来说并不是透明的. 所以集群对发布者和订阅者都是有影响的. 发布者和订阅者都知道连接的是一个集群的服务,而不是一个单点服务,换句话说发布者订阅者都必须指明集群中各个 ...
- golang设计模式之原型模式
原型模式 wiki:原型模式是创建型模式的一种,其特点在于通过"复制"一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的"原型",这个 ...
- golang实现AES ECB模式的加密和解密
最近有一个需求需要在golang中实现AES ECB模式的加密和解密, 看了一下官方文档和相关资料发现golang 官方包并没有完善的实现,于是自己尝试写了一个,本文中的AES算法是基于ECB模式, ...
- 网关状态检测 echo request/reply
计算机中的IP地址和子网掩码的关系:标识该计算机所在的网络号.子网号以及主机号,当访问某个ip时,首先将此ip与本地子网掩码进行"与"运算,判断是否与本机ip和本机子网掩码&quo ...
- golang中使用GOPATH模式和GoModule(gomod)模式的区别
参考:一文搞懂 Go Modules 前世今生及入门使用 前言 在说他们之间的区别时,我们需要先了解了解GoMoudle的前世今生. 以前,Go 语言的的包依赖管理一直都被大家所诟病,Go官方也在一直 ...
- babyos2(39) network(5) -- icmp echo request, reply, receive
前面为babyos2 实现了发送IP数据报,但只测试了同一个局域网内发送,而当目的IP跟发送发自己的IP不在同一局域网内时,babyos2会把IP数据报发往网关.而如何测试是否发送成功,首先想到的是p ...
- Golang之函数选项模式
仅做记录 /*Functional Options函数选项模式(简称FOP模式)既保持了兼容性,而且每增加1个新属性只需要1个With函数即可,大大减少了修改代码的风险 */ package main ...
- 浅谈golang中的代理模式
来自一个大佬的博客,建议食用 设计模式不分语言,是一种思维层面的体现,但是不能在不同语言中使用同一套实现(每种语言有不同的特性),比如go,本身是没有继承一说,但是通过结构体的组合来实现语义上的继承. ...
- golang设计模式——装饰器模式
装饰器模式 装饰器模式: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. UML类图: 分析 首先我们需要理解,为什么组合优于继承? 继承有诸多作用,但继承层次过深. ...
最新文章
- 一种形式的两个提交按钮
- 删除主串中模式串出现的字符
- 新东方财报背后:增收不增利之下,“下沉”“上线”能有坦途?
- idea GsonFormat插件使用报错 StringIndexOutOfBoundsException: begin 0, end -1, length 9
- 《机器人编程实战》一一第2章 机器人词汇
- JS 中判断一个对象是否为数组对象?
- 文献学习(part49)--机器学习面临的挑战
- uiautomation遍历windows所有窗口_万字长文!滑动窗口看这篇就够了!
- 前端学习(1416):ajax的运行原理
- [转载] Java 语言中的实例初始化块 ( IIB) 详解
- Tensorflow学习笔记2----文本分类模型
- 请君入瓮:研究员找到 Emotet 的bug,并成功阻止传播
- (附源码)Flutter Demo
- OpenCV_信用卡识别代码_唐宇迪实战项目
- element ui html编辑器,vue+element-ui 使用富文本编辑器
- 自行设计开源的pdf转word软件(python开发设计)
- 区块链开源代码什么意思_区块链和开源社区有什么共同点
- 鼠标被计算机无法识别怎么办,电脑无法识别鼠标的处理方案
- android 微信高仿,Android高仿微信聊天界面代码分享
- 异步复位信号的 recovery和removal