开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 374|回复: 9
打印 上一主题 下一主题
收起左侧

[已解决] 客户Duan服务器问题请教

 关闭 [复制链接]
结帖率:88% (7/8)
跳转到指定楼层
楼主
发表于 2025-5-12 18:27:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   重庆市重庆市
10精币
如图 发送数据时候单条发送的,可是接收到的数据却有两个数据连在一起的 大哥们这是啥问题 只能加延时吗 有没有其他办法 在服务端加许可证也没用

VX图片_20250512182657.png (69.94 KB, 下载次数: 0)

VX图片_20250512182657.png

最佳答案

查看完整内容

这个要处理的话对于新手而言可能比较麻烦,效率低下,可以采用hp-socket中的pack模型,自动处理了分包拆包情况.

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:93% (26/28)

签到天数: 12 天

沙发
发表于 2025-5-12 18:27:26 | 只看该作者   河北省唐山市
这个要处理的话对于新手而言可能比较麻烦,效率低下,可以采用hp-socket中的pack模型,自动处理了分包拆包情况.

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (2/2)
板凳
发表于 2025-5-12 18:41:53 | 只看该作者   浙江省嘉兴市
除了加延迟没有别的办法!
回复

使用道具 举报

结帖率:93% (26/28)

签到天数: 12 天

地板
发表于 2025-5-12 18:46:41 | 只看该作者   河北省唐山市
TCP是基于字节流的,也就是数据之间没有边界.所以会出现这种情况,1."粘包" 2."分包"
那么怎么解决呢?自己对数据包加边界,一般处理方式是,消息头(消息长度)+消息体.
在接收端根据数据来处理,如果粘在一起了就分开,如果分开了就合起来.
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 1 天

地下
发表于 2025-5-12 20:07:39 | 只看该作者   广东省广州市
粘包问题,做好沾包处理就行
回复

使用道具 举报

结帖率:93% (13/14)

签到天数: 11 天

6
发表于 2025-5-12 20:24:16 | 只看该作者   山东省烟台市
客户Duan发送 “数据,1”,客户Duan发送 “数据,2”,客户Duan发送 “数据,3”  服务端收到消息分割就可以了
回复

使用道具 举报

结帖率:95% (20/21)

签到天数: 6 天

7
发表于 2025-5-12 20:50:58 | 只看该作者   河南省信阳市
tcp例子带粘包处理.rar (2.58 MB, 下载次数: 9)
拿去!
回复

使用道具 举报

结帖率:67% (6/9)

签到天数: 2 天

8
发表于 2025-5-12 21:06:58 | 只看该作者   贵州省黔西南布依族苗族自治州
楼主,看你也跟我一样,在学习网络通讯,现分享一个我前几天刚汉化好的模块给你,别用易语言自带的,那个问题多。有不明白的,多看一下DEMO就行。希望能帮到你!~如果对你有用,请记得选最佳,祝你代码永无BUG

特别说明一下:
1、本人只是负责了汉化,未修改任何原模块结构,用法与英文原模块一致;
2、汉化模块保留了英文模块的英文参数名称(在备注),方便英文用户搜索;
3、本模块并非本人原创,感谢HP_Socket的开源精神,感谢[鱼鱼鱼鱼児、(心冷、鱼儿)]的英文模块化
4、本汉化模块的命令学习了大神[君杰]的汉化命名
5、本模块已确保程序集名称、变量,子程序名称、变量、所有参数均已100%汉化
6、常亮未汉化,因为很难准确将常量翻译好,如有大神处理好了可以分享一份
7、因本人时间不够,DEMO未来得及汉化,需要参考DEMO的,请通过备注搜索的方式对照
8、源码、模块、DEMO全部一起压缩后都有15M,无法直接上传论坛,放在了迅雷网盘中
9、别问我为什么用迅雷,看一下下面的图,是你你用不?我一直用迅雷,大家理解并将就一下吧,感谢理解。
10、再次感谢论坛诸多前辈们,我过去多年承蒙关照,本人菜鸟一枚,如有不足之处,望海涵。
11、如你对本帖有任何不适,请马上离开,不要留下污言秽语,不甚感激!
12、这个模块是官方最新版本,汉化花了我很长时间,收1精币不过分吧?

HP-Socket 6.0.3_秋歌汉化2025.05.0下载地址.txt

1.37 KB, 下载次数: 4

售价: 1 枚 精币  [记录]

评分

参与人数 1好评 +1 精币 +2 收起 理由
星马豪 + 1 + 2 感谢分享,很给力!~

查看全部评分

回复

使用道具 举报

结帖率:83% (10/12)

签到天数: 2 天

9
发表于 2025-5-12 22:25:07 | 只看该作者   江苏省苏州市
使用HP  tcp
回复

使用道具 举报

结帖率:87% (39/45)

签到天数: 6 天

10
发表于 2025-5-12 22:34:20 | 只看该作者   河北省衡水市
  • TCP协议的流式传输特性导致数据可能合并或拆分
  • 接收缓冲区未及时清空造成数据累积
  • 未使用应用层协议界定数据包边界

  
窗口程序集名保 留  保 留备 注
服务端程序集   
子程序名返回值类型公开备 注
_服务端_数据到达  
参数名类 型参考可空数组备 注
客户端ID整数型
变量名类 型静态数组备 注
接收数据字节集 
临时缓冲区字节集 
数据长度整数型 
剩余数据字节集 
' 全局或程序集变量声明:
全局变量名类 型数组公开备 注
数据缓冲区字节集0"  ' 每个客户端对应一个缓 
' 初始化缓冲区
如果真 (客户端ID > 取数组成员数 (数据缓冲区))
重定义数组 (数据缓冲区, 假, 客户端ID)

' 合并新数据到缓冲区
数据缓冲区[客户端ID] = 数据缓冲区[客户端ID] + 服务端.取回数据 (客户端ID)
' 循环处理完整包
判断循环首 (取字节集长度 (数据缓冲区[客户端ID]) ≥ 4)
' 提取前4字节作为长度标识
数据长度 = 取字节集数据 (取字节集左边 (数据缓冲区[客户端ID], 4), #整数型, )
' 检查是否收到完整包
如果真 (取字节集长度 (数据缓冲区[客户端ID]) ≥ 数据长度 + 4)
' 提取完整数据包
临时缓冲区 = 取字节集中间 (数据缓冲区[客户端ID], 5, 数据长度)

' 处理业务逻辑
处理数据包 (客户端ID, 临时缓冲区)

' 移除已处理数据
剩余数据 = 取字节集右边 (数据缓冲区[客户端ID], 取字节集长度 (数据缓冲区[客户端ID])�� (数据长度 + 4))
数据缓冲区[客户端ID] = 剩余数据
跳出循环 ()

判断循环尾 ()
子程序名返回值类型公开备 注
处理数据包  
参数名类 型参考可空数组备 注
客户端ID整数型
数据内容字节集
' 实际业务处理代码
' --------------------------
' 客户端发送封装
子程序名返回值类型公开备 注
发送数据  
参数名类 型参考可空数组备 注
客户端整数型
发送内容字节集
变量名类 型静态数组备 注
封装数据字节集 
' 构造数据包:4字节长度 + 实际数据
封装数据 = 到字节集 (取字节集长度 (发送内容)) + 发送内容
客户端.发送数据 (封装数据)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表