python 网络传输,Python网络通信
免费学习推荐:python教程(视频)
00-1010入门基础知识学习一、同步与异步二、什么是socket三、socket的分类一、流套接字SOCK_STREAM2二、数据报套接字(SOCK_DGRAM)四、IP地址、MAC地址、端口地址结论
python实现网络通信数据传输(基础知识(一))
我不是通信信息专业的,但是最近学了一些这方面的知识,挺有意思的。00-1010-
前言
同步是整个过程的顺序执行。当所有进程完成时,返回结果。是线性执行方式,执行过程不能交叉。一般用于流程性强的流程,比如用户登录,需要用户认证后才能登录系统。(发送方发送一个,接收方接收一个,同步。)异步只是发送调用指令,调用者不必等待被调用的方法被完全执行;相反,继续下面的过程。这是一种并行处理方法。您可以执行其他任务,而不必等待程序完成,例如页面数据加载过程。在显示页面之前,您不需要等待获取所有数据。
(发送方发送数据,接收方有缓冲区,可以按照自己的规则接收。当然,发送方也可以按照自己的规则发送,这是异步的。)
基础知识学习
socket原意为“插座”。在计算机通信领域,socket翻译为“套接字”,是计算机之间相互通信的约定或方式。通过套接字协议,计算机建立网络连接。为了方便理解,我们可以用插座来比较,我们把插头插到插座里。就能从电网获得电力供应,同样,为了与远程计算机进行数据传输,需要连接到因特网,而 socket 就是用来连接到因特网的工具。
三、socket套接字的分类
主要常用两种是流格式套接字(SOCK_STREAM)和数据报格式套接字(SOCK_DGRAM)。
1、流格式套接字SOCK_STREAM
- 有以下几个特征:
数据在传输过程中不会消失;
数据是按照顺序传输的;
数据的发送和接收是异步的。 - 它使用了 TCP 协议(The Transmission Control Protocol,传输控制协议),TCP 协议会控制你的数据按照顺序到达并且没有错误。
强调高质量。
2、数据报格式套接字(SOCK_DGRAM)
- 计算机只管传输数据,不作数据校验,如果数据在传输中损坏,或者没有到达另一台计算机,是没有办法补救的。也就是说,数据错了就错了,无法重传。因为数据报套接字所做的校验工作少,所以在传输效率方面比流格式套接字要高。
- 它有以下特征:
强调快速传输而非传输顺序;
传输的数据可能丢失也可能损毁;
限制每次传输的数据大小;
数据的发送和接收是同步的。
数据报套接字也使用 IP 协议作路由,使用 UDP 协议(User Datagram Protocol,用户数据报协议)。 - 注意: SOCK_DGRAM 没有想象中的糟糕,不会频繁的丢失数据,数据错误只是小概率事件。
四、IP地址、MAC地址、端口地址
- IP地址:是 Internet Protocol Address 的缩写,译为“网际协议地址”。目前大部分软件使用 IPv4 地址,但 IPv6 也正在被人们接受,尤其是在教育网中,已经大量使用。
对于IPV4,一个计算机一个IP地址是不现实的,所以一般是一个局域网一个IP地址。路由器会根据 IP 地址找到对方的地里位置,路由器有非常高效和智能的算法,很快就会找到目标局域网。 - MAC地址:是物理地址,一个局域网地址有多个计算机的MAC地址,数据包中除了会附带对方的 IP 地址,还会附带对方的 MAC 地址,当数据包达到局域网以后,路由器/交换机会根据数据包中的 MAC 地址找到对应的计算机
- 端口地址:一台计算机可以同时提供多种网络服务,例如 Web 服务(网站)、FTP 服务(文件传输服务)、SMTP 服务(邮箱服务)等,仅有 IP 地址和 MAC 地址,计算机虽然可以正确接收到数据包,但是却不知道要将数据包交给哪个网络程序来处理,所以通信失败。
为了区分不同的网络程序,计算机会为每个网络程序分配一个独一无二的端口号(Port Number)。端口(Port)是一个虚拟的、逻辑上的概念。可以将端口理解为一道门,数据通过这道门流入流出,每道门有不同的编号,就是端口号。如下图所示: - 补充:今天刚刚看了下串口和端口的概念:
串口是I/O通讯的接口,是硬件范畴,因为使用了串行的信号通讯而简称串口。
端口(指一般的PC机操作系统中,单片机不算)只是一个16位的数字标识,用来在网络通讯中标识不同的通讯进程,是操作系统定义的,就是说没有操作系统的话也没有端口的概念
结束语
最近学习了挺多有关通信的东西,希望拿出来和大家分享一下,本文只是接下来几篇中的开头,做些基础准备,接下来还准备发些相关知识最后会准备几个例子供大家参考!!!欲知后事如何,请听下回分解!
免费学习推荐:python视频教程以上就是python基础知识一:网络通信数据传输的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。