功能:运行一个可执行文件,并重定向它的标准输出stdOut以及错误输出errOut给主程序。类的所有消息由主程序的事件处理函数myProc_Evnt统一处理,事件的传递细节为:
myProc事件 -> 以字符串方式封装 -> 主程序Invoker -> 主程序事件处理程序
消息格式为:
"myProc.exited" -> 程序执行完毕,退出了,或者进程被杀死了;
"myProc.disp...
在上一节中(MQTT消息格式之SUBSCRIBE(消息订阅)消息分析),客户端发送了订阅的消息,这个时候,服务器端收到订阅主题的MQTT消息之后,肯定需要给一个应答,这个应答信息就是SUBACK(消息订阅应答)。消息订阅应答相对来说比较简单。...
分类:
系统相关 时间:
2015-06-17 23:23:07
阅读次数:
1165
我们在上几节的协议分析中,发送连接的请求用的是Eclipse Paho MQTT工具,那么笔者这一次改一下,咱们这次用代码来发送Subscribe的MQTT消息,请注意,下面的代码是基于Eclipse Paho Java API之上的代码,在运行下面的代码前,请先去下载Eclipse Paho Java库,其下载地址为:https://www.eclipse.org/paho/clients/java/. 下面我们正式切入正题。...
分类:
系统相关 时间:
2015-06-16 14:50:09
阅读次数:
279
在上节中( [6] MQTT,mosquitto,Eclipse Paho---MQTT消息格式之CONNECT消息格式分析)我们分析了CONNECT消息格式,我们知道CONNECT消息是客户端发送出去的,作为对客户端的连接请求,服务器端同样会有一个消息的返回,这个消息就是CONNACK的消息。我们在发出去CONNECT消息后,如果WireShark抓包工具依然开启的话,将会抓到类似于下面的TCP消息,其16进制为:20 02 00 00,那么其代表什么意思呢?...
分类:
系统相关 时间:
2015-06-14 12:30:01
阅读次数:
232
在“[3] MQTT,mosquitto,Eclipse Paho---如何使用 Eclipse Paho MQTT工具来发送订阅MQTT消息?”一文中我已经和大家简单讲述了如何使用Eclipse Paho MQTT。那么当我们点击“Connect”按钮,究竟在TCP协议层发生了什么?如何通过MQTT规定的协议和TCP的二进制数据进行对比,从而更加深入的学习MQTT的消息格式呢?笔者将带领大家以CONNECT消息格式为例子,分析第一个MQTT的消息格式, MQTT的CONNECT消息主要用来在客户端和服务端...
分类:
系统相关 时间:
2015-06-12 23:56:52
阅读次数:
292
们知道MQTT是一个物联网协议的一个规范,MQTT的协议最新的两个版本是:3.1.1和3.1.0
(1) 3.1.0的规范如下
http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html
(2) 3.1.1的规范如下
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718029
规范主要描述了消息的通用格式,消息的命令,消息...
分类:
系统相关 时间:
2015-06-12 13:26:58
阅读次数:
260
1.主要思路:
(1) 服务端开启监听线程,等待客户端的连接。 每个socket连接放到独立线程中处理。
(2) 服务端和客户端使用约定的消息格式通信。对于比较复杂的消息(如向服务端传递一个实例),可以使用json封装传输。
(3) 每个连接的客户端,注册唯一的ClientID,在服务端以此来区分消息的来源。
2.代码构成
实现该样例包含两个cs的客户端程序。 分别为 服务...
分类:
编程语言 时间:
2015-05-17 21:55:20
阅读次数:
135
转自于:http://blog.csdn.net/changtao381/article/details/8698935一、概述: 其结构如下:在src 里, 网络通信:msg 里面 包括了网络传输的代码, message 目录里定义了 传输的消息格式。 元数据服务器: md...
分类:
其他好文 时间:
2015-05-14 17:57:47
阅读次数:
238
1:为什么要用Protocol Buffer?
在回答这个问题之前,我们还是先给出一个在实际开发中经常会遇到的系统场景。比如:我们的客户端程序是使用Java开发的,可能运行自不同的平台,如:Linux、Windows或者是Android,而我们的服务器程序通常是基于Linux平台并使用C++开发完成的。在这两种程序之间进行数据通讯时存在多种方式用于设计消息格式,如:
1. 直...
分类:
其他好文 时间:
2015-05-07 16:50:45
阅读次数:
451
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样 的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的 语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,...
分类:
其他好文 时间:
2015-05-01 09:21:02
阅读次数:
115