-
-
[讨论]网络编程,关于WSASend,send一次没有将数据发完的问题
-
发表于:
2008-10-2 03:02
9184
-
[讨论]网络编程,关于WSASend,send一次没有将数据发完的问题
编程一个网络程序,无论是用send还是WSASend,都有可能让你的发送缓冲区占满,
如果调用一次send(WSASend),发送1024字节的数据包,而由于缓冲区没有这么大的空间,所以就只发送了1000字节数据,
遇到这种情况怎么处理?有以下两种处理方法
1.再次调用send,剩下和24字节发送出去
2.重复发送1024字节数据包,直到1024字节一次性发送成功为至
对于第一种方法,由于第一次发送了1000字节数据,再次调用send(WSASend)发送24字节数据,那么,在服务端收到的是一个包,还是两个包?
一般情况下,如果说我要编程一个聊天程序,与QQ相似的,那么,每个包是独立的,
我是否应该选用第二第方法?
对于send函数,在一次性没有完全发送的问题上,我存在一些疑惑,请高手们解答一下,3ks
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课