为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 网络相关源码 正文

易语言解决服务器与客户端组件粘包的方法

三叶资源网 2019-06-01 15:49:57 网络相关源码 3035 ℃ 9 评论
.版本 2
.支持库 spec
.支持库 sock

.程序集 窗口程序集_启动窗口

.子程序 _按钮2_被单击

客户1.发送数据 (取重复字节集 (10000, 到字节集 (“1”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (20000, 到字节集 (“2”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (30000, 到字节集 (“3”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (40000, 到字节集 (“4”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (50000, 到字节集 (“5”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (60000, 到字节集 (“6”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (70000, 到字节集 (“7”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (80000, 到字节集 (“8”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (90000, 到字节集 (“9”)) + 到字节集 (“分隔符”))
客户1.发送数据 (取重复字节集 (100000, 到字节集 (“0”)) + 到字节集 (“结尾符”))

.子程序 _服务器1_数据到达
.局部变量 取回数据, 字节集
.局部变量 数据数组, 文本型, , "0"
.局部变量 次数, 整数型
.局部变量 临时数据, 字节集, 静态
.局部变量 得到的封包, 文本型

取回数据 = 服务器1.取回数据 ()
.判断开始 (取字节集右边 (取回数据, 6) ≠ 到字节集 (“结尾符”))  ' 6为结尾符的长度;这里检测封包是否全部发送完毕,如果没有发送完毕就会把发送来的封包数据进行累加
    临时数据 = 临时数据 + 取回数据
.默认
    临时数据 = 临时数据 + 取回数据  ' 检测到结尾符出现,说明数据已经发送完毕,这里把最后发送来的带有结尾符的数据加上就OK了。
    临时数据 = 子字节集替换 (临时数据, 到字节集 (“结尾符”), , 取字节集长度 (临时数据) - 6, 6)  ' 6为结尾符的长度;这里把结尾符替换尾空,剩余数据尾完整的纯净数据。
    数据数组 = 分割文本 (到文本 (临时数据), “分隔符”, )  ' 这里把收到的数据进行分割处理,无论服务器发送了多少次,都统一按分隔符分割
    调试输出 (“封包数量:” + 到文本 (取数组成员数 (数据数组)))
    .计次循环首 (取数组成员数 (数据数组), 次数)
        得到的封包 = 数据数组 [次数]  ' 这里得到分割后的封包文本。
        调试输出 (“第” + 到文本 (次数) + “个封包的大小:” + 到文本 (取文本长度 (得到的封包)))  ' 这里的大小和上面发送封包的大小相同,可以看到封包的分割次数。
    .计次循环尾 ()
    临时数据 = {  }
.判断结束


.子程序 __启动窗口_创建完毕

客户1.连接 (取本机名 (), 8888)

@lu_2014

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有9位网友发表了看法:

  • 易语言

    易语言  评论于 [2020-04-25 10:47:07]  回复

    易语言服务器丢包

  • 易语言

    易语言  评论于 [2020-06-16 23:11:49]  回复

    服务器.取回数据+粘包

  • 三叶

    三叶  评论于 [2020-08-17 17:07:07]  回复

    易语言粘包

  • 易语言

    易语言  评论于 [2020-08-17 17:10:05]  回复

    易语言服务器组包解包

  • 编程学习

    编程学习  评论于 [2021-04-08 12:33:33]  回复

    易语言服务器组件发送不完整

  • 资源站

    资源站  评论于 [2021-06-09 22:50:22]  回复

    易语言++连接服务器,除了用客户组组件,还有别的方法吗

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
udp协议自动打铃鱼刺多线程64位进程命令行卸载node短信轰炸机CommonJS社会网络名片点赞选择夹图片组取启动时间窗口信息发送文本call准星拖动易语言纯画板mongodb使用APP加密快看点视频上传Bilibili评论抽奖微信扫码支付
最新评论