网络通信
1.网络-udp
udp协议就类似于写信,每一封信都要写地址。在通信开始之前不需要建立连接,只需要发送数据即可。
udp协议不安全,容易丢数据
1.1网络通信概述
使用网络将多方连接起来,进行数据传输。

1.2 ip地址
IP地址就是一串数字,来标记地址
IP地址:192.168.11.12 不允许重复。
目的:用来标记网络上的一台电脑。
分为四段 xxx.xxx.xxx.xxx,所以一共有256*256*256*256个地址,如果在一个局域网中,那么前面的很多位就是相同的。
1.3端口
IP地址是用于区分每台主机的,但是在同一台主机上运行了很多程序,当接收消息时得区分消息到底是给哪个程序的,这时就出现了端口。应用程序在收发网络信息时就要用端口,linux系统中有65535个端口,为了统一管理就编号了,这就叫做端口号。

端口号的分配,前1023个端口叫做知名端口,就是非常常用的端口,后面1024-65535的端口叫做动态端口。
socket
socket(套接字)是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:他能实现不同主机间的进程通信。
套接字使用流程和文件的使用流程类似
- 创建套接字
- 使用套接字收发数据
- 关闭套接字
创建socket
import socket
socket.socket(AddressFamily,Type)
说明:
函数socket.socket来创建一个socket,该函数带有两个参数:
- AddressFamily :可以选择AF_INEF(用于Internet进程间通信----代表用的是Ipv4)
- Type:套接字类型,可以是SOCK_STREAM(流式套接字,主要是TCP协议)或者SOCK_DGRAM(数据报套接字,主要用于UDP协议)
import socket
# 创建套接字
s = socket.socket(socket.AF_INEF,socket.SOCK_STREAM)
..
..
# 不用时关闭套接字
s.close()
2 TCP协议
TCP协议,传输控制协议(Transmission control Protocol)是一种面向连接的,可靠的,基于字节流的传输层通信协议
TCP通信需要经过创建连接,数据传送,终止连接三个步骤。tcp通信模型中在通信开始之前,一定要先建立相关的连接,才能发送数据,类似于生活中的打电话,在丢数据时会发回一个反馈信息来使其重发。
可靠传输:
阻塞管理:收到了再发,不是一下子全发完。
只要记住结论:tcp保证了数据传输的稳定,安全。