编程语言:C#。
客户端:GUI,当按键控件被使用时,根据下拉框、文本框等控件状态、内容下发特定指令;读取与分析服务端回传的测试数据并显示。
服务端:接收、解析客户端指令,连接与控制设备。
软件控制流程:当客户端按下“连接”按键时,客户端连接服务端并创建另一个线程开始循环测试(测试流程为下发测试指令→读取测试数据→显示)。
所遇问题:客户端连接服务端成功后不启动测试线程。
解决方式:在客户端用以连接服务端的方法后添加延时解决。
猜想:C#的TcpClient类在实例化(创建连接)或获取流时不是阻塞的。在创建连接时,自动测试线程已经开始并下发了测试指令在等待服务端回传;而服务端并未接受到指令,导致互相等待直到超时。
如有错误望斧正,谢谢。