随着电子技术的不断发展,通过实现各种端日传输数据的检测和控制,就可以准确的判断和分析问题,从而找到解决问题的方法。本文以目标系统下两个独立具有数据通信往来模块为对象,通过该工具使得两个独立模块之间不直接相连,而是通过工具转接,从而可以观察目标系统通信情况,进而为判断系统中的独立模块工作是否正常提供依据。
1 工具设计与实现
1.1 设计框图
如图1所示,TARGET1和TARGET2为目标系统下两个独立具有数据通信往来的模块,A和B为两个端口,此两端口没有差异,无论何时,从A端口接收到数据则立即通过B端口发送出去,反之亦然。A和B端口收发数据采用何种协议和格式,由程序运行的配置文件决定。本系统中,TARGET1和TARGET2无法直接进行数据往来,而是通过工具转接,借助端口A和B进行数据传递,从而可以观察目标系统的通信情况。
1.2 详细设计
该工具的主程序包括端口参数配置文件、端口数据循环处理、文件存取等程序,主要通过配置服务端口和客户端口参数,然后转接到文件中,从而得到通信数据。主函数如下:
1.3 测试过程
1)运行SocketTool.exe,设置为服务端,数据收发窗口如图2所示。简化的工具栏只有3个功能按钮:“创建”“删除”“退出”;操作窗口左侧为端口的传输控制协议和用户数据报协议的设置栏,鼠标双击对应名称列表或通过右击对应名称列表弹出菜单设置,就可以对数据收发的服务器进行端口设置。操作窗口右侧上部显示Socket状态;中部显示接收数据流;下部显示发送的数据和重复次数。同时勾选底部显示十六进制值功能,也可以对发送和接收的数据转换成对应的ASCII码。
2)运行SocketTool.exe,设置为客户端,如图3所示。客户端口设置与服务端口设置基本一致,设置主窗口一致,通过Socket状态进行区分。
3)通过主窗口对参数进行配置之后,可以生成配置文件并保存。需要修改服务端或客户端参数时,可以通过主界面进行修改,也可以通过直接修改配置参数文件完成。打开param.cfg文件,如图4所示,配置过程及参数修改非常简单。
4)运行后台控制文件dualport.exe,如图5所示,方便观察服务端口和客户端口直接的数据传递信息观察信息包括传递的来源、目的、时间、内容等。
5)测试结果。客户端SocketTool.exe发送数据,则数据通过dualport.exe-转发到服务端的SocketTool.exe。再使用服务端SocketTool.exe发送数据,则数据通过dualport.exe转发到客户端SocketTool.exe。图6所示Bridge.log中记录了所有经过的数据。
2 结束语
该工具作为一种辅助手段,特别在某些地方不具有某些环境时,可以帮助收集数据,同时不影响系统中各个独立模块的工作,也不影响系统中模块的整体性。如果通信数据的时序(比如某些数据包之间的时间相差太大,或者太小等)有问题,或数据出错等等,该工具可以帮助排除问题。该工具用于在两个通信端口可以是RS232串口,网络套接字sock et,甚至可以是并口,USB等。