NATS连线协议详解
NATS连线协议详解作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszsNATS的连线协议是一个简单的、基于文本的发布/订阅风格的协议。客户端连接到gnatsd(NATS服务器),并与gnatsd进行通信,通信基于普通的TCP/IP套接字,并定义了很小的操作集,换行表示终止。 9、NATS协议约定
10、NATS协议消息下面的表格描述了NATS协议消息,要注意操作名是大小写不敏感的,因此SUB foo 1rn和sub foo 1rn是等价的。 —————————————————————————————————— 操作名 | 发送端 | 描述 —————————————————————————————————— INFO 服务器 初始化TCP/IP连接后发送给客户端 CONNECT 客户端 发送给服务器指定连接信息 PUB 客户端 发布消息到主题或Reply主题 SUB 客户端 订阅主题(或主题通配符) UNSUB 客户端 取消订阅主题(或自动取消订阅) MSG 服务器 交付一条消息负载给订阅者 PING 两端 保持连接有效的PING活跃消息 PONG 两端 保持连接有效的PONG活跃消息 +OK 服务器 确认详细(Verbose)模式下协议消息的合法 -ERR 服务器 指示协议错误,会导致客户端断开连接 —————————————————————————————————— 11、NATS协议消息的例子下面砍使用Telnet连接demo.nats.io站点的例子: telnet demo.nats.io 4222 Trying 107.170.221.32... Connected to demo.nats.io. Escape character is '^]'. INFO {"server_id":"1ec445b504f4edfb4cf7927c707dd717","version":"0.6.6","go":"go1.4.2","host":"0.0.0.0","port":4222,"auth_required":false,"ssl_required":false,"max_payload":1048576} CONNECT语法CONNECT {[“option_name”:option_value],…}
描述: 例子:下面是来自Golang客户端的一个例子: CONNECT {"verbose":false,"pedantic":false,"name":"","lang":"go","version":"1.1.0"}rn 大多数客户端都设置了Verbose模式为false(缺省设置),这意味着服务器在接收到消息后不会发送+OK消息给客户端。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |