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模式相关推荐

  1. golang nats[5] cluster集群

    集群模式 nats的集群模式对客户端来说并不是透明的. 所以集群对发布者和订阅者都是有影响的. 发布者和订阅者都知道连接的是一个集群的服务,而不是一个单点服务,换句话说发布者订阅者都必须指明集群中各个 ...

  2. golang设计模式之原型模式

    原型模式 wiki:原型模式是创建型模式的一种,其特点在于通过"复制"一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的"原型",这个 ...

  3. golang实现AES ECB模式的加密和解密

    最近有一个需求需要在golang中实现AES ECB模式的加密和解密,  看了一下官方文档和相关资料发现golang 官方包并没有完善的实现,于是自己尝试写了一个,本文中的AES算法是基于ECB模式, ...

  4. 网关状态检测 echo request/reply

    计算机中的IP地址和子网掩码的关系:标识该计算机所在的网络号.子网号以及主机号,当访问某个ip时,首先将此ip与本地子网掩码进行"与"运算,判断是否与本机ip和本机子网掩码&quo ...

  5. golang中使用GOPATH模式和GoModule(gomod)模式的区别

    参考:一文搞懂 Go Modules 前世今生及入门使用 前言 在说他们之间的区别时,我们需要先了解了解GoMoudle的前世今生. 以前,Go 语言的的包依赖管理一直都被大家所诟病,Go官方也在一直 ...

  6. babyos2(39) network(5) -- icmp echo request, reply, receive

    前面为babyos2 实现了发送IP数据报,但只测试了同一个局域网内发送,而当目的IP跟发送发自己的IP不在同一局域网内时,babyos2会把IP数据报发往网关.而如何测试是否发送成功,首先想到的是p ...

  7. Golang之函数选项模式

    仅做记录 /*Functional Options函数选项模式(简称FOP模式)既保持了兼容性,而且每增加1个新属性只需要1个With函数即可,大大减少了修改代码的风险 */ package main ...

  8. 浅谈golang中的代理模式

    来自一个大佬的博客,建议食用 设计模式不分语言,是一种思维层面的体现,但是不能在不同语言中使用同一套实现(每种语言有不同的特性),比如go,本身是没有继承一说,但是通过结构体的组合来实现语义上的继承. ...

  9. golang设计模式——装饰器模式

    装饰器模式 装饰器模式: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. UML类图: 分析 首先我们需要理解,为什么组合优于继承? 继承有诸多作用,但继承层次过深. ...

最新文章

  1. GitHub开源新命令行工具:在终端里创建、管理PR成现实
  2. Android Studio编译问题-Error:Could not find org.jetbrains.trove4j
  3. mysql权限配置文件_MySQL权限管理、配置文件(三)
  4. UI- UIView控件知识点回顾
  5. 写好一份数据分析报告的13个要点
  6. Java IO: 其他字节流(上)
  7. 大道至简,仅需4行代码提升多标签分类性能!ICCV21 南大提出Residual Attention
  8. I2S,PCM,IOM-2,I2C,SPI,UART,GPIO
  9. 模拟电路——阻容耦合放大电路
  10. 经验谈:写给新手的反激变压器KRP详解
  11. Linux下Teamviewer安装、设置及开机启动
  12. win7配置FTP服务器
  13. 100句充满智慧的人生格言
  14. 机器学习第四章之逻辑回归模型
  15. 治愈系课程教材 第四课
  16. PS制作晶莹剔透的文字
  17. 计算机ppt翻页笔,ppt翻页笔怎么使用?
  18. 博客项目(一):API说明文档、用户模块、短信模块、支付模块
  19. Oracle之查看建表语句
  20. 推箱子 | Java课程设计

热门文章

  1. Get value from agent failed:cannot connect to[[192.168.1.113];10050]:[111]Co
  2. iBaits中,关于insert返回值的问题(注意!!!不必写resultClass= java.lang.Integer,方法的返回值就是int)
  3. Python升级后pip命令失效解决方法
  4. 二维码识别超级解决方案,工业级别
  5. ajax的content-download时间过慢问题的解决与思考
  6. Android 软键盘弹出时把原来布局顶上去的解决方法
  7. MySQL报错解决方案:2013-Lost connection
  8. Elasticsearch分页解决方案
  9. Ubuntu下U盘变成只读的解决方法
  10. 【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案