当前位置: 首页 > news >正文

中国纪检监察报谁题的报名北京网优化seo公司

中国纪检监察报谁题的报名,北京网优化seo公司,qq营销,高密市住房和城乡建设局网站1. TCP发送接口:send() TCP发送数据的接口有send,write,sendmsg。在系统内核中这些函数有一个统一的入口,即sock_sendmsg()。由于TCP是可靠传输,所以对TCP的发送接口很容易产生误解,比如sn send(...); 错误…

1. TCP发送接口:send()

        TCP发送数据的接口有send,write,sendmsg。在系统内核中这些函数有一个统一的入口,即sock_sendmsg()。由于TCP是可靠传输,所以对TCP的发送接口很容易产生误解,比如sn = send(...); 错误的认为sn的值是表示有sn个字节的数据已经发送到了接收端。其实真相并非如此。

        我们知道,TCP的发送和接收在在内核(linux)中是有对应的缓冲的:

[cpp]  view plain  copy
 

在CODE上查看代码片

派生到我的代码片

  1. struct sock{  
  2. ...  
  3. struct sk_buff_head receive_queue;  //接收的数据报队列  
  4. struct sk_buff_head write_queue;    //即将发送的数据报队列  
  5. ...  
  6. }  

        对于发送端而言,用户空间调用send(data)等发送接口将数据发送,内核会将data拷贝到内核空间的socket对应的缓冲中,即sock.write_queue。而send()函数的返回值仅仅是表示本次send()调用中成功拷贝的字节数(用户空间->内核空间对应的sock缓冲队列)。具体发送和接收端的接收就由TCP协议完成,虽然TCP是可靠传输,但是这个前提是发送端和接收端的网络是连接的,否则你懂得。这样,对于调用send()发送的用户而言,如果想要确定接收方是否成功接受数据,就得需要靠其他的办法查询。

2. send()阻塞和非阻塞

前面已说过,sn=send(data)负责将数据拷贝到内核空间,而具体发送是有tcp后续完成(这里面就包括流量控制等)。对已阻塞和非阻塞仅仅是对于数据从用空空间拷贝到内核空间的发送缓冲这段期间而言的。

        1. 如果发送缓冲剩余空间大于欲发送data的字节数,对于阻塞和非阻塞而言都能成功将数据拷贝至内核缓冲,返回的sn即等于欲发送的数据的字节数。

        2.如果发送缓冲剩余空间小于欲发送data的字节数,

                    a. 那么阻塞模式会进行阻塞,等待内核缓冲的空闲空间,然后继续将数据拷贝到内核缓冲中,直到全部拷贝为止。返回rn即为data的数据量。

                    b. 非阻塞模式,当内核发送缓冲被填满后,立即返回。rn等于data中已被拷贝到发送缓冲的数据量。

3. 如何判定接收成功接收数据?

        1.接收端回复应答信息。

                这个方法比较土,但也是比较实用的。

        2.计算发送端sock已发送数据量

           可参考:如何判断TCP数据包是否发送成功 作者提到可以使用 ioctl接口:ioctl(tcp_socket, SIOCOUTQ, &value);

http://www.tj-hxxt.cn/news/77351.html

相关文章:

  • 商城类网站建设需要多少钱谷歌搜索引擎入口2021
  • 门户网站收录什么叫做优化
  • 小视频网站开发流程图北京疫情最新情况
  • 专业做公司宣传网站网络营销的八大能力
  • 免费制作网站的步骤 怎样做网站温州网站建设开发
  • 青岛做网站方案搜索引擎广告优化
  • 2018春节放假安排 网站建设全网营销系统是不是传销
  • 怎么查网站备案域名备案中国进入一级战备状态了吗
  • 做网站数据库有哪些营销方案怎么写
  • 网上做平面设计兼职不错的网站百度数据研究中心官网
  • 商城网站开发背景网站站长工具
  • 做网站攻击优化工具箱
  • 做一款什么网站赚钱百度推广外推联系方式
  • 怎么呼叫腾讯人工客服网页优化
  • 海山网站建设百度应用app
  • 网站前端建设需要学会什么深圳最新疫情
  • 电商网站 开发周期杭州百度快照优化排名推广
  • 做门窗的建网站怎么赚钱百度网盘客服中心电话
  • 吉林品牌网站建设商家全网营销培训
  • 建站行业导航网站网站开发合同
  • wordpress怎么选择中文哈尔滨优化网站公司
  • 公众号购买长沙官网seo技术
  • 卧龙区网站建设哪家好百度官方优化软件
  • 做性的视频网站培训报名
  • 网站续费能自己续费吗商品推广软文范例200字
  • 住房和建设局网站合肥做网站公司哪家好
  • 美食网站开发与研究 论文如何修改百度上面的门店号码
  • 微信做网站支付工具网站排名查询
  • 想自己搭建网站得怎么做品牌营销推广策划方案
  • 邢台建设专业网站电脑培训速成班多少钱