网络编程中接收,发送数据函数比较

4 篇文章 0 订阅
订阅专栏

 

1.send,write的区别 |  recv,read的区别

send,recv除了发送数据之外,还可以指定一些特殊的选项,比如带外数据OOB。

对于send函数,需要知道的是如果开启了OOB选项的话,只是在TCP头部里面设置了URG位和URG指针,而且也只能读取一个字节而已...

对于recv函数,如果开启了MSG_PEEK以及MSG_DONTWAIT,不会向read函数一样读取后就清除缓冲区的内容。

 2.readv,writev函数

readv,writev可以一次性将保存在多个缓冲区的数据一并发送,减少I/O函数的调用次数。

 

 

形象的比较write和writev的区别:

3.标准I/O

使用标准I/O的好处:

(1)良好的移植性,所以的操作系统都提供相同的标准I/O

(2)可以利用缓冲提高性能,这个与TCP接收缓冲,发送缓冲不一样。

这两种缓冲的作用是不一样的。标准I/O的缓冲主要是为了提升性能,而TCP的缓冲是为了支持TCP协议。

 

使用缓冲为什么能够带来性能的提升呢?

 

比较使用标准I/O的fgets,fputs和系统调用的read,write之间的性能差异。

可以看到使用标准I/O比较快,因为是放在一个缓冲区,然后一次性的写入到网络中,相当于调用系统调用次数减少了。

 

当然标准I.O也存在一些缺点:

 涉及的函数有:

fdopen:将文件描述符转换为标准I/O的File

fgets,fputs,feof

【socket】 read和recv区别writesend区别
数字人生
08-11 2038
1.问chatGPT应用:socket read和recv区别? 2.问chatGPT应用:socket writesend区别?
python网络编程调用recv函数完整接收数据的三种方法
12-24
在使用socket进行网络编程,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑的一个问题。这里,简要介绍一下判别数据接收接收完成常用的三种方法: 1.基础数据接收法: 使用基础数据接收法...
socket数据的接收和发送
芝麻软件工作室的专栏
06-02 4781
Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字写入数据,使用 read() 可以从套接字读取数据。 前面我们说过,两台计算机之间的通信相当于两个套接字之间的通信,在服务器端用 write() 向套接字写入数据,客户端就能收到,然后再使用 read() 从套接字读取出来,就完成了一次通信。 write() 的原型为: s
网络编程】对套接字读写的理解(1):writesend 和read
qq_41950508的博客
07-13 2958
在封装TCP读写的时候,遇到了读写函数的选择问题,进而研究了一下,在此记录。常用的三个函数分别为writesendsendmsg。函数原型如下: 每个函数可以单独使用,但使用的场景有所不同:上面这些可能查下资料,大家基本都可以知道,然后觉得套接字读写和普通文件的读写没有什么区别,其实里面暗含了很多内在的区别。对于普通文件描述符而言,一个文件描述符代表了打开的一个文件句柄,通过调用 write 函数,操作系统内核帮我们不断地往文件系统写入字节流。注意,写入的字节流大小通常和输入参数 size 的值是
linux send与recv函数详解
weixin_30376453的博客
08-30 1162
1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags); 3 ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags); recv 和send的前3个参数等同于read...
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
09-18
为了深入学习Python网络编程,除了本文提供的UDP发送和接收数据示例外,还可以参考更多专题,例如《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作...
c#接收发送can数据
04-04
9. **调试与测试**:在开发过程,使用CAN数据分析工具(如CANalyzer或CANoe)进行实时监控和数据记录,可以帮助调试和验证你的C#程序是否正确地发送和接收CAN消息。 总的来说,使用C#进行CAN数据的接收和发送涉及...
网络编程常用函数接口
08-26
网络编程常用函数接口】是计算机科学进行网络通信的核心组成部分,主要涉及操作系统提供的系统调用,用于创建、管理和操作套接字。这些函数接口在跨平台的软件开发,特别是涉及网络服务和通信的应用程序至关...
linuxread,write和recv,send区别(转)
turry的博客
04-12 4776
1、recv和send函数提供了和read和write差不多的功能。但是他们提供了第四个参数来控制读写操作.int recv(int sockfd,void *buf,int len,int flags)int send(int sockfd,void *buf,int len,int flags)    前面的三个参数和read,write相同,第四个参数能够是0或是以下的组合:________...
UNIX网络编程-recv、send、read、write之间的联系与区别
Maple的博客
03-13 1083
原文链接:http://www.cnblogs.com/mhscn/p/3911284.htmlinclude <unistd.h>ssize_t read(int fd, void *buf, size_t nbyte); read()函数是负责从fd读取内容。当读成功时,read()返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了,小于0表示出现了错误。如果错误为EINTR说明
【转】WSAEVENTSELECT模型-简述
scuabin的专栏
03-05 570
WSAEVENTSELECT模型-简述 http://www.hudong.com/wiki/WSAEVENTSELECT模型确定与所提供的FD_XXX网络事件集合相关的一个事件对象。  #include   int WSAAPI WSAEventSelect ( SOCKET s, WSAEVENT  hEventObject, long lNetworkEvents );  s
java网络编程7、8、9习题解析
好学者的博客
12-08 2788
第七、八章 当DatagramSocket接收到了来自任意一个主机的数据报,如果知道该数据报的发送者的UDP端口?(A) A 调用DatagramPacket的getPort()方法 B 调用DatagramSocket的getPort()方法 C 调用DatagramPacket的getRemotePort()方法 D 调用DatagramSocket的getRemotePort()方法 DatagramPacket类包括以下属性: data:表示数据报的数据缓冲区。 offset:表示数据报的数据
视觉媒体通信作业记录(四)视频网络传输
weixin_45774698的博客
08-01 1316
视频传输
socket send函数系列,彻底弄懂socket发送函数,可做参考手册
最新发布
weixin_28673511的博客
04-06 3696
套接字发送函数系列,全面比较socket编程所有发送函数,通过对比学习方式,让初学者彻底理解socket发送函数作用。
DatagramChannel.send和DatagramChannel.write
AlbeeXiao的专栏
03-10 683
都可以通过返回值获得bytes written
网络编程之read和write/send函数
Goller_的博客
01-11 621
1、数据准备阶段 read 函数 :看read buffer里是否有数据,有数据则准备好了,没有数据则没有准备好。 有无数据 write/send 函数:看write buffer里面是否数据满了,如果满了,则没有准备好。满的还是非满的 2、epoll reactor 使用的是非阻塞io 3、阻塞io和非阻塞io都是属于同步io,因为都是用户调用。 异步调用是回调,内核调用 4、read 和 write 通道都关闭 则会返回 EPOLLHUP 5、close(fd),系统只是将fd的引用数量
linux socket read write,socket编程write、read和send、recv之间的区别
weixin_39529302的博客
05-15 493
http://blog.csdn.net/petershina/article/details/7946615一旦,我们建立好了tcp连接之后,我们就可以把得到的fd当作文件描述符来使用。由此网络程序里最基本的函数就是read和write(int fd, const void*buf,size_t nbytes);write的返回值大于0,表示写了部分或者是全部的数据. 这样我们用一个while循...
探究WSAEventSelect模型
answermj的专栏
03-31 579
socket 2009-12-04 12:28:13 阅读260 评论4 字号:大小 WSAEventSelect模型也是I/O模型较为常用的一个异步模型,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。该模型最主要是将网络事件投递至一个事件对象句柄。    事件通知   事件通知模型要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调
写文章

热门文章

  • PCL库使用addLine实现轨迹绘制 8022
  • 按顺序读取文件夹所有文件并重命名 5672
  • SLAM14讲中Sophus包的安装问题 5188
  • Oppo笔试题练习 3251
  • 现在SLAM存在的问题 3008

分类专栏

  • 数据结构 9篇
  • 笔试题 5篇
  • 秋招复习 10篇
  • 面试 9篇
  • liunx命令 7篇
  • 网络编程 4篇
  • 数据库 2篇
  • linux内核学习 3篇
  • 金典 1篇
  • 算法模板 14篇
  • OOD 1篇
  • 剑指offer 1篇
  • C++ 4篇
  • 智力题与概率题 2篇
  • 大数据
  • 操作系统

最新评论

  • hot100 二叉树

    CSDN-Ada助手: 推荐 算法 技能树:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm

  • 位运算的两道题目

    Shier833_Ww: hhhhh刚刚同样遭受了( Xor & count) == 0忘加括号,瞅了半天没发现到底哪出问题了

  • 现在SLAM存在的问题

    无念而悲: 您好,可以求一份John Leonard 30 years of SLAM的PPT么??谢谢了

  • c++中的随机数

    ctotalk: 加油,不错。

  • PCL库使用addLine实现轨迹绘制

    acquirement: 请问addLine是不是只能绘制直线,如果绘制折现就要多次调用?

大家在看

  • Springboot+vue社区智慧医疗服务管理系统的设计与实现 毕业设计程序源码98275 720
  • 华为od面试手撕代码真题题型2——数学题 27
  • (2024最新毕设合集)基于Django的房价分析平台-65434|可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、文案 953
  • 免费领取7天迅雷加速器会员
  • ✨ 灵动AI视频:重塑视频创作,引领智能编辑新时代!✨

最新文章

  • 程序员的自我修养
  • hot100 二叉树
  • _pickle.PicklingError: Can‘t pickle : import of module failed
2024年2篇
2023年1篇
2020年77篇
2019年11篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家菏泽抽象校园玻璃钢雕塑厂家芜湖景观玻璃钢雕塑嘉定区拉丝玻璃钢雕塑优选企业安徽玻璃钢花盆求瑞丽市玻璃钢雕塑哪家好西宁户外玻璃钢雕塑制作大型玻璃钢雕塑方法福建常用商场美陈制造宜春厂家玻璃钢雕塑上海玻璃钢冰棒雕塑深圳小区玻璃钢雕塑加工厂苏州玻璃钢卡通雕塑厂家批发武汉个性化玻璃钢雕塑批发仙林商场美陈茂名玻璃钢雕塑广场摆件宿迁玻璃钢人物雕塑批发南京玻璃钢雕塑多少钱一平米湖北步行街玻璃钢雕塑订做价格贵州玻璃钢马雕塑郑州学校校园玻璃钢雕塑设计浙江大型商场创意商业美陈多少钱吉安玻璃钢雕塑制作厂家伦教玻璃钢人物雕塑精工打造玻璃钢雕塑作品好逼真宁夏玻璃钢景观雕塑定制玻璃钢雕塑工艺品打磨修补原阳玻璃钢雕塑费用西山区玻璃钢雕塑加工厂家口碑不错玻璃钢卡通雕塑出厂价格黄山创意玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化