由于客户自己有服务器,希望把显示界面放在他们自己的服务器上运行,而我们的视觉处理模块则放在自己的硬件中,两部分独立出来。为此,我将视觉处理模块写成服务端工作站的模式,可以实现多个客户端与之通信。下图是socket通信的流程图。
下图为我的服务端与调试工具客户端通信的工作图:
1、首先,运行服务端,开始监听客户端;
2、然后打开客户端,服务端显示new client connected,并显示当前连接的客户端个数,若客户端断开连接,则显示client n is disconnected!,并显示当前连接的客户端个数;
3、此时客户端发送字符指令“s”,则服务端开始运行视觉处理程序,并返回位姿信息(xyz坐标以及与铅锤方向的夹角值)给客户端,客户端在界面程序上再作后续处理。
在此,推荐几个windows下非常好用的工具:
1、远程连接工具:WinSCP ,这个工具百度搜索即可下载,直接安装免费使用;用于自己的Windows系统跟linux硬件传输文件,工具内还集成PuTTY工具,用于远程控制linux设备,非常好用
2、socket通信测试工具:SocketTool V4 该软件可以自己创建服务端或客户端,用来测试自己的客户端或者服务端;也可二次开发。