首页

文章

linux 网络编程 send 做了什么操作

发布网友 发布时间:2022-04-19 14:00

我来回答

1个回答

热心网友 时间:2023-10-25 06:17

send解析 sockfd:指定发送端套接字描述符。 buff: 存放要发送数据的缓冲区 nbytes: 实际要改善的数据的字节数 flags: 一般设置为0 1) send先比较发送数据的长度nbytes和套接字sockfd的发送缓冲区的长度,如果nbytes > 套接字sockfd的发送缓冲区的长度, 该函数返回SOCKET_ERROR; 2) 如果nbtyes <= 套接字sockfd的发送缓冲区的长度,那么send先检查协议是否正在发送sockfd的发送缓冲区中的数据,如果是就等待协议把数据发送完,如果协议还没有开始发送sockfd的发送缓冲区中的数据或者sockfd的发送缓冲区中没有数据,那么send就比较sockfd的发送缓冲区的剩余空间和nbytes 3) 如果 nbytes > 套接字sockfd的发送缓冲区剩余空间的长度,send就一起等待协议把套接字sockfd的发送缓冲区中的数据发送完 4) 如果 nbytes < 套接字sockfd的发送缓冲区剩余空间大小,send就仅仅把buf中的数据copy到剩余空间里(注意并不是send把套接字sockfd的发送缓冲区中的数据传到连接的另一端的,而是协议传送的,send仅仅是把buf中的数据copy到套接字sockfd的发送缓冲区的剩余空间里)。 5) 如果send函数copy成功,就返回实际copy的字节数,如果send在copy数据时出现错误,那么send就返回SOCKET_ERROR; 如果在等待协议传送数据时网络断开,send函数也返回SOCKET_ERROR。 6) send函数把buff中的数据成功copy到sockfd的改善缓冲区的剩余空间后它就返回了,但是此时这些数据并不一定马上被传到连接的另一端。如果协议在后续的传送过程中出现网络错误的话,那么下一个socket函数就会返回SOCKET_ERROR。(每一个除send的socket函数在执行的最开始总要先等待套接字的发送缓冲区中的数据被协议传递完毕才能继续,如果在等待时出现网络错误那么该socket函数就返回SOCKET_ERROR) 7) 在unix系统下,如果send在等待协议传送数据时网络断开,调用send的进程会接收到一个SIGPIPE信号,进程对该信号的处理是进程终止。
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 Windows和Linux下的网络编程方法的异同 linux下C语言网络编程 如何入门 我想学习linux下的网络编程。 为什么要学linux网络编程知乎 Linux/UNIX网络编程的内容简介 怎么学习linux网络编程 linux下的网络编程有没有前途?? 如何在linux下进行网络编程 跪求一份linux下网络编程的学习心得 linux tcp/ip 网络通信编程 请问Linux下学习网络编程应该具备哪些基础知识? linux网络编程的问题 linux系统网络编程主要是学什么??要用到哪些概念... Linux网络编程 Linux网络编程:什么是Linux下的网络编程 linux网络编程应该学习哪些东西 linux网络编程是个什么样的东西 Linux网络编程的介绍 手机视频怎么变清晰 怎样把手机里的视频变清晰? 手机视频没有声音是怎么回事 为什么我上网查资料,动不动就出来“銆€銆... 繁体字涓嶆槸鍟奫的简体是什么 为什么编写好代码的字运行时会变成乱码:如“上传文... 文明三部曲的txt全集下载地址 小米电视儿童模式难度 小米电视怎样退出儿童模式? 小米电视如何设置儿童观看时间 小米电视可以设置家长模式吗 小米电视儿童模式忘记密码太简单? 小米电视儿童模式忘记密码? 小米电视怎么防止小孩看电视 小米电视怎么设置密码防止小孩看 小米电视有什么功能 小米电视可以设置每天观看的时间段吗,比如上午9.0... 小米电视机怎么设置观看时间 小米电视2的通用设置里都有哪些设置 怎么让小米电视只连数字电视,不连wF因为家里小孩太... 小米电视A32寸儿童模式下如何恢复出厂? 小米电视4c全部都是动画片怎样切换原来的视频?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com