[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题

/**

*@n

*@n 程序:SerialPortModel(C#版本)

*@n 功能:多串口 + 多设备 + 多指令(n:m:z),轮询及数据缓冲解析(管收不管埋)

*@n 作者:陈富([email protected]) 2013-10-08

*@n 网址:http://blog.csdn.net/arno1988

*@n

*/

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第1张图片

 

1. 多串口(可同时打开n个串口)

 

 

2. 多设备(1个串口下可接入m台设备)

 

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第2张图片

 

3. 多指令(1台设备下可实现z条指令)

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第3张图片

 

解析

正常数据

===============================================

0A 41 31 46 30 33 43 45 39 30 45 33 45 30 33 0D 


 

错包数据(分包 + 粘包)

===============================================

0A41 31 46

30 33 43 45 39 30 45 3345

3033 0D 

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第4张图片

0A 41 31 46 30 33 43 4539 30 45 33 45 30 33 0D 0A 41 3146 30 33 43 45 39 30 45 33 45 30 33 0D

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第5张图片

 

30 33 0D 0A 41 31 46 30 33 43 45 39 30 45 33 45 3033 0D


 

C++版本

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第6张图片

 

InternetModel.exe

/**

*@n

*@n 程序:InternetModel(C#版本)

*@n 功能:多串口,多设备,多指令,轮询及数据缓冲解析(管收不管埋)

:定时发送心跳包数据来确定链路状况,false:资源清理

:定时检查链路状况,false:创建(针对Client),自动重连

概念sn链路操作,id用于界面显示

*@n 作者:陈富([email protected]) 2013-10-08

*@n 网址:http://blog.csdn.net/arno1988

*@n

*/

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第7张图片

==================================================================================

Server端测试

==================================================================================

Client:网络调试工具

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第8张图片

 

连接 - 断开 - 连接


Server端程序输出

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第9张图片


==================================================================================

Client测试

==================================================================================

Server:

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第10张图片

 

未连接 - 连接 - 断开 - 连接

Client端输出:

在System.Net.Sockets.SocketException 中第一次偶然出现的“System.dll”类型的异常

<链路状况Cmd>Run:False ip:127.0.0.18904,sn:0,1_2,127.0.0.1

<链路状况Cmd>Run:True ip:127.0.0.18904,sn:0,1_2,127.0.0.1

在System.Net.Sockets.SocketException 中第一次偶然出现的“System.dll”类型的异常

[Error]<HandelReceiveBuffer> Message:您的主机中的软件放弃了一个已建立的连接。

<链路状况Cmd>Run:False ip:127.0.0.18904,sn:0,1_2,127.0.0.1

[Error]链路中断ip:127.0.0.1sn:0,1_2,127.0.0.1,Time:2013-10-28 10:26:47

在System.Net.Sockets.SocketException 中第一次偶然出现的“System.dll”类型的异常

<链路状况Cmd>Run:False ip:127.0.0.18904,sn:0,1_2,127.0.0.1

在System.Net.Sockets.SocketException 中第一次偶然出现的“System.dll”类型的异常

<链路状况Cmd>Run:True ip:127.0.0.18904,sn:0,1_2,127.0.0.1

 

C++

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第11张图片

 

Sn和id的使用

[置顶] 射频技术(串口+网口),解决:多串口,多设备,多指令,数据错包问题_第12张图片


http://download.csdn.net/detail/arno1988/6468915








 

你可能感兴趣的:(技术)