热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

C网络编程sendrecv函数缓冲区问题

要发送的数据超过了send函数设定的缓冲区大小,如我要发送1030个字节,而服务器端接收的缓冲区设为1024,执行后,服务器端收到了部分数据(我想应该是1024个字节),但是客户端send函数返回的值
要发送的数据超过了send函数设定的缓冲区大小,如我要发送1030个字节,而服务器端接收的缓冲区设为1024,执行后,服务器端收到了部分数据(我想应该是1024个字节),但是客户端send函数返回的值小于0,显示发送失败!请大侠解释一下。是不是发送的数据一定要是服务器端缓冲区大小的整数倍啊,如果不是整数倍,该怎么解决?

8 个解决方案

#1


在内核里面会实现缓冲区,应用层的缓冲区没有压力,找找是不是程序有问题

#2


客户端发送1030字节,服务器缓冲区1024,则需要至少执行两次recv接收才能接完,如果只执行了一次,客户端如果没错的话可能就是超时了,因为可能还有6个字节迟迟没有被服务端接收。
但照理这样的话不应该返回负值,而应该是返回成功发送的字节说,所以建议重点检查一下客户端部分。

#3


理论指导实践,先看书。

#4


缓冲区设成多少都没有关系,发送失败不是这个原因,取一下lasterror看看

#5


不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!

#6


引用 5 楼  的回复:
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
赵哥这次回的不错,不像以往回的像打酱油一样!
tcp发送是流,但很多时候我们也只是知道:啊,是流!当理解了猜知道那么形象,不理解的时候怎么都不知道这个流到底什么含义!

#7


谢谢~~确实是理论知识不足。。。现在是拿着代码一点点研究。
额~怎样给分啊???

#8


其实,真相不是这样的。我曾做过测试

推荐阅读
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文介绍如何使用PyCharm专业版通过SFTP上传项目文件至云服务器。首先,确保你使用的是PyCharm专业版,因为社区版不支持此功能。接下来,我们将在云服务器上创建一个专门的目录用于存放项目文件,并详细介绍每一步配置过程。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 如何有效降低网站跳出率,提升用户体验?
    在当今竞争激烈的互联网环境中,优化用户体验是网络运营的核心。良好的用户体验不仅能吸引更多的流量,还能提高用户的复购率和留存率。而网站跳出率则是衡量用户体验的重要指标之一。本文将探讨如何通过多种策略有效降低网站跳出率。 ... [详细]
author-avatar
围脖上的博博_771
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有