1. 多串口(可同时打开n个串口)
2. 多设备(1个串口下可接入m台设备)
3. 多指令(1台设备下可实现z条指令)
解析
正常数据
===============================================
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
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
30 33 0D 0A 41 31 46 30 33 43 45 39 30 45 33 45 3033 0D
破坏性测试:1ms互发
测试结果:正常运行
C++版本
InternetModel.exe
/**
*@n
*@n 程序:InternetModel(C#版本)
*@n 功能:多串口,多设备,多指令,轮询及数据缓冲解析(管收不管埋)
:定时发送心跳包数据来确定链路状况,false:资源清理
:定时检查链路状况,false:创建(针对Client),自动重连
概念sn链路操作,id用于界面显示
*@n 作者:陈富(arno1988@163.com) 2013-10-08
*@n 网址:http://blog.csdn.net/arno1988
*@n
*/
==================================================================================
Server端测试
==================================================================================
Client:网络调试工具
连接 - 断开 - 连接
Server端程序输出
==================================================================================
Client测试
==================================================================================
Server:
未连接 - 连接 - 断开 - 连接
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
破坏性测试:Client断开后自动重连(1ms)
任务管理中,内存值变化
测试结果:可无限自动重连,且内存值在一定范围内波动
C++
Sn和id的使用