码迷,mamicode.com
首页 > 编程语言 > 详细

python socket 的理解(1)

时间:2018-08-09 13:59:20      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:idt   详解   缓冲   图片   blog   tps   前言   recv   open   

前言

    socket的用法简单,但里面的概念有点模糊,记录自己本人的一点理解。

socket层结构图

技术分享图片

注意,从此图中看出socket处于tcp和应用层之间。那么它代表啥意思呢?简明的说,数据的传输都是底层协议处理的,跟socket没啥关系。sokcet被抽象成文件,意味着socket就干两件事,读和写。

 

socket 函数 

 recv函数

    1.接收缓冲区接收数据,如果检测到无数据,或正在接收,就一直等待。

    2.当协议接收完毕,recv就copy接收缓冲区的数据到buf,如果recv缓冲区较大,recv要不停的copy几次。

           注意:在这里,我们把缓冲区想象成一个完成的文件,recv(100),相当于python open对象方法的read(100),如果文件大小1000,每次读100,下次就会从上一次100处开始继续读。

  3.当网络中断,recv返回一个长度为0的字符

总结

   参考文献

    socket send函数和recv函数详解 https://blog.csdn.net/chenhuajie123/article/details/9149185

    简单理解socket https://www.cnblogs.com/dolphinX/p/3460545.html

 

python socket 的理解(1)

标签:idt   详解   缓冲   图片   blog   tps   前言   recv   open   

原文地址:https://www.cnblogs.com/whf191/p/9447922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!