社区
iOS
帖子详情
求大侠 AsyncSocket 类数据接收问题
xuwmzi
2012-07-28 11:33:47
服务器给我发送返回数据,大小大概在20kb(小b,位),我接收的长度却只有2872b,多的时候可以达到7180了,最少的时候是1436,(这些数字都是1436的倍数). 读取时间,我都设置为-1,也就是最大值... 返回的长度最常见就是2872了...
请问各路大侠,有没有遇到此种情况,或者您觉得可能的原因在哪?
...全文
249
12
打赏
收藏
求大侠 AsyncSocket 类数据接收问题
服务器给我发送返回数据,大小大概在20kb(小b,位),我接收的长度却只有2872b,多的时候可以达到7180了,最少的时候是1436,(这些数字都是1436的倍数). 读取时间,我都设置为-1,也就是最大值... 返回的长度最常见就是2872了... 请问各路大侠,有没有遇到此种情况,或者您觉得可能的原因在哪?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ixfly
2012-08-02
打赏
举报
回复
比如原来的数据是AAAAAA,现在分成两个包了,两个包里面的数据加一起,长度超过了原包的长度。
胡说八道。如果服务器发了AAAAAA,接着发BBBBBB,你收到的可能是AAAAAA,再收到BBBBBB,或者一次性收到AAAAAABBBBBBB。没有其他情况。别什么抓包分析什么XX。学点基础比较好
xuwmzi
2012-08-02
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
如用载包工具看到的数据多是因为那是一部分tcp封包的协议头tcp自动加的包头!
[/Quote]
请问,这部分包头,我应该如何解析?
xuwmzi
2012-08-02
打赏
举报
回复
嗯,问题已经解决了一大半,楼上说的对,不会有多余的数据,组装起来就好了,只是粘包现象很恐怖...这个需要好好处理....
xuwmzi
2012-08-02
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
比如原来的数据是AAAAAA,现在分成两个包了,两个包里面的数据加一起,长度超过了原包的长度。
胡说八道。如果服务器发了AAAAAA,接着发BBBBBB,你收到的可能是AAAAAA,再收到BBBBBB,或者一次性收到AAAAAABBBBBBB。没有其他情况。别什么抓包分析什么XX。学点基础比较好
[/Quote]
服务器只发送了一次AAAAAABBBBBBB,而我这边是多次接收,而且总长度比服务器发送的长度还多出几个字节,我不知道多出的这几个字节是怎么回事.....
liuh6
2012-07-31
打赏
举报
回复
如用载包工具看到的数据多是因为那是一部分tcp封包的协议头tcp自动加的包头!
xuwmzi
2012-07-30
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
发的包的长度可能固定,但收到的包长度会时大时小。
这个长度不是自已控制的,这是tcp传输时底层做的工作。发送的数据存到缓冲中,当网络整度慢的时候,两个包会粘接在一起一起发送。这在tcp传输数据时常见到的现像。。
[/Quote]
嗯,我找了很久,才发现,真的是这样的。比如原来的数据是AAAAAA,现在分成两个包了,两个包里面的数据加一起,长度超过了原包的长度,多出来的长度是什么?不会是相应的格式吧,比如目标IP,端口之类的吧? 还是包序列?
xuwmzi
2012-07-28
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
我估计你的服务器按1436大小分包了的。
[/Quote]
也不是,服务器是一次性把数据全部返回的..
ixfly
2012-07-28
打赏
举报
回复
我估计你的服务器按1436大小分包了的。
liuh6
2012-07-28
打赏
举报
回复
发的包的长度可能固定,但收到的包长度会时大时小。
这个长度不是自已控制的,这是tcp传输时底层做的工作。发送的数据存到缓冲中,当网络整度慢的时候,两个包会粘接在一起一起发送。这在tcp传输数据时常见到的现像。。
xuwmzi
2012-07-28
打赏
举报
回复
服务器是一次性发送数据的,但是客户端却分批接收...而且每次接收的长度并不一致...这个..
支持ARC的
Async
Socket
类
下载
支持ARC的
Async
Socket
类
下载
利用
Async
Socket
与后台
数据
交互
利用
Async
Socket
与后台
数据
交互
Async
Socket
开源的
Async
Socket
,最新版本,比苹果提供的好用多了
Async
Socket
源文件
Async
Socket
源文件 的工具文件
异步通信
Async
Socket
异步通信
Async
Socket
,包含c源代码.
iOS
29,028
社区成员
12,466
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章