2020-11-03

网络通信

1.网络-udp

udp协议就类似于写信,每一封信都要写地址。在通信开始之前不需要建立连接,只需要发送数据即可。

udp协议不安全,容易丢数据

1.1网络通信概述

使用网络将多方连接起来,进行数据传输。

image-20201009104138425

1.2 ip地址

IP地址就是一串数字,来标记地址

IP地址:192.168.11.12 不允许重复。

目的:用来标记网络上的一台电脑。

分为四段 xxx.xxx.xxx.xxx,所以一共有256*256*256*256个地址,如果在一个局域网中,那么前面的很多位就是相同的。

image-20201009154201725

1.3端口

IP地址是用于区分每台主机的,但是在同一台主机上运行了很多程序,当接收消息时得区分消息到底是给哪个程序的,这时就出现了端口。应用程序在收发网络信息时就要用端口,linux系统中有65535个端口,为了统一管理就编号了,这就叫做端口号。

image-20201009154844285

端口号的分配,前1023个端口叫做知名端口,就是非常常用的端口,后面1024-65535的端口叫做动态端口。

socket

socket(套接字)是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:他能实现不同主机间的进程通信。

套接字使用流程和文件的使用流程类似

  1. 创建套接字
  2. 使用套接字收发数据
  3. 关闭套接字

创建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通信模型中在通信开始之前,一定要先建立相关的连接,才能发送数据,类似于生活中的打电话,在丢数据时会发回一个反馈信息来使其重发。

可靠传输:

image-20201009213313339

阻塞管理:收到了再发,不是一下子全发完。

只要记住结论:tcp保证了数据传输的稳定,安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值