大家是否用过:客户和服务器控件 ??
相信大家深有体会,当用这两个控件发送较大的数据时会发生所谓的“丢包”。
其实不是真正的丢包了,而是数据太大,被分成了几部分来发送。就感觉好像丢失了数据。
有兴趣的朋友可以自行调试一下。
相信大家已经想到解决方案了!!
没错就是将数据累加起来再处理。
下面演示 客户端 的累加数据
.版本 2
.程序集 窗口程序集1
.程序集变量 程序数据, 字节集, , , '累加数据程序变量
.子程序 _客户1_数据到达
.局部变量 temp, 字节集, , , 临时数据
temp = 客户1.取回数据 () ' 为了确保程序能辨认数据是否完全,发送数据的时候需要在数据后面加的 over
.如果 (取字节集右边 (temp, 4) = 到字节集 (“over”)) ' 如果收到 over 就说明数据全部到达了
程序数据 = 程序数据 + 取字节集左边 (temp, 取字节集长度 (temp) - 4) ' 在接受的数据中去掉 over
处理数据 (程序数据)
程序数据 = { } ' 清空数据
.否则
程序数据 = 程序数据 + temp ' 累加数据
相信大家深有体会,当用这两个控件发送较大的数据时会发生所谓的“丢包”。
其实不是真正的丢包了,而是数据太大,被分成了几部分来发送。就感觉好像丢失了数据。
有兴趣的朋友可以自行调试一下。
相信大家已经想到解决方案了!!
没错就是将数据累加起来再处理。
下面演示 客户端 的累加数据
.版本 2
.程序集 窗口程序集1
.程序集变量 程序数据, 字节集, , , '累加数据程序变量
.子程序 _客户1_数据到达
.局部变量 temp, 字节集, , , 临时数据
temp = 客户1.取回数据 () ' 为了确保程序能辨认数据是否完全,发送数据的时候需要在数据后面加的 over
.如果 (取字节集右边 (temp, 4) = 到字节集 (“over”)) ' 如果收到 over 就说明数据全部到达了
程序数据 = 程序数据 + 取字节集左边 (temp, 取字节集长度 (temp) - 4) ' 在接受的数据中去掉 over
处理数据 (程序数据)
程序数据 = { } ' 清空数据
.否则
程序数据 = 程序数据 + temp ' 累加数据