继续:Winsock, Chunked Decode

ccton 2004-12-10 10:30:49
俺终于把这个狗屁解决了!

不过用的非常笨的法子:
DataArrival 里把每次提取的数据byte+array放到一个variant数组(其实放到文件也是一样)

Close的时候开始处理。

先循环每个字节,弄成一个大的byte数组(当然从文件里提出来也是一样),如果不先组合,跟着的条件判断将会非常烦人,俺决定先将就一下。

然后重新再循环这个大数组。查看每一个字节,用个临时byte数组记录。先找到 13 10 13 10,这就是header的结束处了,把临时byte数组 strconv成文本header. 接着往下找,在第一个13 10之间的是第一chunk的大小,算出来。就用这个数字往下继续找,就是第1chuck的body了;如此类推....

看起来结果没啥问题了,就是这个做法巨慢。

CSDN这么多高人,就是没人肯出来讲讲好法子。winsock这东西多少年了?解chunk绝对不是什么新问题,可是老帖子里没有,发新贴也没人回,究竟怎么回事呢?

...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccton 2004-12-12
  • 打赏
  • 举报
回复
up again
ccton 2004-12-11
  • 打赏
  • 举报
回复
up
ccton 2004-12-10
  • 打赏
  • 举报
回复
是的哦,我发现csdn上关于winsock最多的问题就是如何收发文件。给的代码就是接收到文件,然后直接往文件里一写就完事。

我就不信,就不需要处理了? 那文件里面的chunk分界符号就让它留着不成? 文本文件也就算了,多几个字而已,我在想,如果是2进制文件,那不处理不就打不开么??

真是奇怪啊。。。。。不知道大家怎么想的。真有那么简单的话,直接Inet甚至WebBrowser算了,还用winsock做甚?
aohan 2004-12-10
  • 打赏
  • 举报
回复
理解楼主的心情ing

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧