CSocket Receive问题? 本帖最后由 VisualEleven 于 2010-12-06 10:17:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个Receive不应该是主动调用的吧在CSocket中不是有个叫做OnReceive的函数吗,在这个函数里调用Recieve应该就没问题了,这里是缓冲区中有数据了才会调用的 你最好定义个协议,例如传送的时候带上02 03 之类的头,后面加上数据长度,数据。这样你receive的时候把所有数据放到一个大的缓冲区,然后按照你定义的协议来解析包。,把自己需要的数据取出来。 这个我知道,触发OnReceive时再调用Recieve,但是Recieve假如没接收完呢?会自动再触发一次OnReceive吗? 调用AsyncSelect强制触发一次。怎么结贴了才5分,太少啦 没接完会一直触发OnReceive函数,直到接完为止 "这些我都想过,但是现在协议没这方面的东西,假如你做为接收方,在不修改任何协议的情况下,有什么方法更有效的接收N长的信息"这与传输协议无关的这是与发送方协调,在发送的时候肯定有些结束或者未结束的标识的,,不可能是一下子就能接收N长的数据的N长的数据底层上也是分包发送的,,只是在接收的时候重新把各个小包组合起来。。表面上看是一次就接收过来了。。呵呵 请问,最后是否是按照如下的方法解决的,第1次触发OnReceive可以读取一部分,第2次再触发OnReceive再读取剩余的内容。“没接完会一直触发OnReceive函数,直到接完为止” 有会用gardenui的高手吗 编码问题 调试时的错误 我该拿多少钱??? 为什么这样的new不需要delete? 如何查看系统中所有安装的组件?并且知道这些组件是出资哪些dll,ocx的? 在debug和release的目录下找不到dll,请各位高手指点!谢谢! 谁知道Cg怎么用。 请问高手,在VC中调用的*.obj文件对象是如何制作的? 设置控件的字体时为什么不能看到颜色的变化。 窗口显示的问题 给基类加上destroy方法
在CSocket中不是有个叫做OnReceive的函数吗,在这个函数里调用Recieve应该就没问题了,这里是缓冲区中有数据了才会调用的