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. 一种形式的两个提交按钮
  2. 删除主串中模式串出现的字符
  3. 新东方财报背后:增收不增利之下,“下沉”“上线”能有坦途?
  4. idea GsonFormat插件使用报错 StringIndexOutOfBoundsException: begin 0, end -1, length 9
  5. 《机器人编程实战》一一第2章 机器人词汇
  6. JS 中判断一个对象是否为数组对象?
  7. 文献学习(part49)--机器学习面临的挑战
  8. uiautomation遍历windows所有窗口_万字长文!滑动窗口看这篇就够了!
  9. 前端学习(1416):ajax的运行原理
  10. [转载] Java 语言中的实例初始化块 ( IIB) 详解
  11. Tensorflow学习笔记2----文本分类模型
  12. 请君入瓮:研究员找到 Emotet 的bug,并成功阻止传播
  13. (附源码)Flutter Demo
  14. OpenCV_信用卡识别代码_唐宇迪实战项目
  15. element ui html编辑器,vue+element-ui 使用富文本编辑器
  16. 自行设计开源的pdf转word软件(python开发设计)
  17. 区块链开源代码什么意思_区块链和开源社区有什么共同点
  18. 鼠标被计算机无法识别怎么办,电脑无法识别鼠标的处理方案
  19. android 微信高仿,Android高仿微信聊天界面代码分享
  20. 异步复位信号的 recovery和removal

热门文章

  1. 遗忘root用户密码
  2. 【Linux】grep命令
  3. 阿里云虚拟主机安装wordpress,提示连接数据库失败的解决方法
  4. WP8多分辨率解决方案
  5. element-ui 解决 table 里包含表单验证的问题!
  6. 安装ubuntu出现BUG soft lockup的解决方法(16.04 14.04)
  7. VS2013、VS2015中,新建项目没有看到解决方案的问题(已解决)
  8. 在Java中的foreach循环中调用remove
  9. python翻译matlab,如何在python3中翻译MATLAB单元?
  10. Bsdiff差分算法讲解