如何知道socket发送缓冲区的内容和大小? mfc,c++,vs2015,使用socket,tcp网络编程,发送端sendX个数据,把接收端的缓冲区大小设置为Y,(X大于Y),发送端执行send函数后,接收端不执行recv,那么请问如何知道发送方缓冲区还有哪些数据没有发送?以及这些数据的大小?发送方能不能自己调用哪个函数来实现上述疑问,而不需要接收方来告诉他已经收到了什么,他自己再去减!请大神帮忙,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 肯定是有其他问题,否则你要send,就会recvtcp协议,能保证你接收到的数据的顺序和你发送的顺序一致(不考虑丢包)。但是,不保证每一次recv都能接收到完整的一个数据包,也不能保证每一次recv都只接收到一个数据包。在实际发送过程中,会对你发送的包进行拆分或者合并。所以你必须使用一个应用层协议来读取数据,可以用已有的通用协议,也可以自定义。顺便说一句,以后如果开发大型项目,还得考虑有人捣乱,发送异常数据的情况。 send的返回值会告诉你实际进入协议(发送)的大小, 通讯双方都会缓冲, 如从A 发到BA 有发送缓冲 假设为 2B 有接收缓冲,假设为 4在A 使用send 来发送10个, 如果B不recv, 那么情况一般就是 send返回 6, 有4个已经发送到B的缓冲, 有2个在本地缓冲 这是TCP/IP的基础常识了,建议先看下基本概念,一点一点来!tcp/ip详解 从C++ Builder 到 vc 急。。。 在线等待。 50 分 msdn安装下载? 大家帮我看看这个问题能不能解决,虽然是个小问题,可是也很麻烦 哪位能提供msgina.dll的原代码? 这是怎么回事(内存泄露?) 如何让派生自CScrollView的视图,客户区的最右边有一列保持不动? 纯虚函数问题,谁肯帮帮忙? 新手求一个VC6下的Alpha效果的png实例. 请问怎么把一个原来是用Debug编译的工程,转为用Release编译? 关于MFC消息映射的困惑 mfc hook 非模态对话框 焦点 求教,如何隐藏系统得鼠标指针箭头,或者设置开机后的鼠标指针默认位置。
tcp协议,能保证你接收到的数据的顺序和你发送的顺序一致(不考虑丢包)。
但是,不保证每一次recv都能接收到完整的一个数据包,也不能保证每一次recv都只接收到一个数据包。
在实际发送过程中,会对你发送的包进行拆分或者合并。所以你必须使用一个应用层协议来读取数据,可以用已有的通用协议,也可以自定义。
顺便说一句,以后如果开发大型项目,还得考虑有人捣乱,发送异常数据的情况。
A 有发送缓冲 假设为 2
B 有接收缓冲,假设为 4在A 使用send 来发送10个, 如果B不recv, 那么情况一般就是
send返回 6, 有4个已经发送到B的缓冲, 有2个在本地缓冲