找回密码
 立即注册
大多数 TCP 客户端都是异步操作的。发送数据后,只能在回调中进行处理。一些特殊的服务可能需要发送后同步返回。
有些模块或者支持库也有同步返回,但是只支持单线程单包返回。我经常看到有人问这方面的问题。


于是吃完粽子,我就利用空闲时间消化了一下,写了一个多线程TCP,同步发送数据和接收。

实现思路:

1:发送数据前获取唯一标识符,创建事件,将事件ID和唯一标识符保存在数组中

2:将唯一标识写入数据并发送给服务器,然后调用事件等待

3:服务器收到数据后,处理相关命令ID,并将客户端发送的唯一标识符添加到发回给客户端的数据中。

4:客户端接收到数据后,取出唯一标识,然后通过数组中的唯一标识取出事件ID,然后将数据放入数组中,触发事件ID,由客户端发送通知线。

5:发送线程收到事件触发后,根据唯一标识从数组中取出服务器返回的数据,然后释放事件ID并删除相关缓存数据。


这样就完成了发送数据后的同步接收过程。


TCP 套件使用客户端/服务器组件

09370735718[下载].rar

093706a3253z5vy192yhrk.jpg


上一篇:绿地G优cipherText算法 易语言源码
下一篇:winhttp自带的WebSocket Win10可用 易语言源码