查看: 2002|回复: 0

请教一个socket编程问题

[复制链接]
发表于 2008-11-28 17:02:54 | 显示全部楼层 |阅读模式
问题:
首先在不确定接受数据大小的情况下,如何能更正确有效的接受数据。。


简要说明:
    首先我采取的是阻塞模式,一般的情况下我是通过select来进行检测协议栈中是否有数据可读,然后等函数返回并且有可读数据的时候在进行通过recv函数读取数据,并且会函数返回的读取字节数是否和要读取的字节数相同,如果不同的话,则之前要读取的字节数-已读取的字节数 = 剩下要读的字节数,并且将缓冲区指针+上已读取到的大小,然后继续循环读取。直到读取到的数据 = 剩下要读取的数据才跳出循环。。


     当然这里是处理在确定接受数据大小的情况下,但是如果在不确定接受数据大小的情况下,我却遇到问题了,不直到是否能去检测到协议栈中到底有多少数据可读,这样再去读取的话,就好很多了,希望各位前辈给点经验。。谢谢。

[ 本帖最后由 学习的鱼 于 2008-11-28 17:03 编辑 ]
回复

使用道具 举报

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

本版积分规则

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