TCP

tcp介绍(传输控制协议)

udp写信:

放进去就回发送走

收信人的地址

写信不安全

别人也会收到

飞秋可能收不到

tcp:

打电话

tcp有补救措施

保证数据一定会到

电流导致数据乱了

打电话要拨号,嘟嘟嘟的过程

必须先建立链接

tcp有应答机制

  1. 一段时间内没有应答,超时重传

  2. 迅雷下载的上传速度就是应答

  3. 错误校验

  4. 流量控制,阻塞管理

    不能传太多

UDP 飞鸽传书

保证稳定

udp流程

建立套接字

sento

recvfrom

bind端口

TCP流程

严格区分客户端和服务器

选区:选择服务器,越近越不卡

提供服务的就是服务器

客户端:ipad点菜机

多了链接服务器

铁了心要用括号就要转义

大写的o前面插入,小写的o插入到下面

自己写的名字和import一样

tcp说多少句都是一个连接

客户端和服务器

udp 用户数据报协议

TCP 服务器

客户端一般不绑定端口

listen被动套接字

accept等待客户端链接

流程:

买个手机–套接字

插上手机卡–套接字绑定

接听状态–listen(设置为正常接听状态)–买手机卡默认你打电话给别人

等待别人打电话–accept

括号就是反斜杠

大O前面插一行

小o前面插一行

大A行末 大I行首

bind一定是绑定元组

listen写128就可以了

拆包等号右边是一个元组,等号左边有两个变量,这个叫做拆包

accept接受新的套接字(客服),addr是别人给你打电话的信息(打电话给你的电话号码之类的)

bind 电话机申请了7890

人->联通打电话

人工—找个人给他服务,accept,打电话,客服(由电话主机给他传了客户的信息)给他服务

服务器:

先买了电话机

先变成listen–等待别人给你打电话

找了个新的套接字为他服务

又来了一个人

又找个客服

监听套接字只等待

下面负责通信

一直阻塞,直到有客户来(accept)来的时候才解阻塞

客户端先发

linux命令行创建新窗口

总结命令行‘


客户端先运行还是服务器先运行

accept卡在这里不走了

卡着不走等客户端

accept等一个客户端调用connect

循环为多个客户端服务

先拿号

把标记的客户端关了

recvfrom有数据还有,ip之类的 面积你

recv只有数据

你怎么知道客户端只需要服务一次,就是循环为这个客户多次服务


你怎么知道别人不需要服务

recv解堵塞,有两种方式

,一种是

客户端发送数据

客户端调用close

9.55打电话,亮名牌,挂了我就投诉你

同一时刻为多个服务


文件下载器

什么叫下载

服务器down一个东西

收到一点我就写一点

客户端比较简单

服务器比较麻烦

要下载东西,需要有什么前提

1.有网络—创建套接字

2.connect

3.下载文件名

4.读出来那个文件再发给我

最简单的下载流程

1.限速,验证,超级管理员,vip会员

with怎么用

打开成功,读写异常

1571888919844

try:

​ xxx

except:

​ xxx

with open(“xxx”) as f

里面不需要写close

保证百分之百被close关了

先发请求,给文件名

新建一个文件

把东西放到文件里面去

流程:

1571932293052

1024==1字节

1024*1024=1mb

写上个b是二进制

recv是二进制

2-to-too

d剪切

p粘贴放进去

开多一个函数有独立功能

with 打得开,读数据不一定用

新建一个文件不可能失败

try的用法

1571933616312

如果下载的东西没有的话怎么办

vim xxx+09

上课都不认真听,下课就会认真了?

listen里面的参数(四个小时连续上)

tcp稳定 udp不稳定

同一时刻有多少客户端连接你有关系(一丁点关系)

128 Ubuntu特别适合做服务器

高并发好几百万个人

tcp注意点

  • tcp服务器一般情况下需要绑定,否则客户端找不到这个服务器。
  • 网络安全可能会有其他不是tcp或者udp
  • 参数不管它,以后查一查就好了
  • 收数据要绑定端口,发数据不绑定也行,给我打电话来电显示就行了
  • qq多开,udp,硬件限制所以是udp
  • 一起为大家服务,两台电脑服务。慢慢的都给另一台电脑
  • 在一个网络里面,知道ip和端口
  • 在互联网里面可以不用绑定。
    • 第一步,先登录。我知道腾讯服务器的端口。连接腾讯的服务器
    • 第二步,qq2登陆,腾讯服务器起到了一个转发的服务
    • 多开qq,有不同的端口

注意点

  • listen,可以把主动变为被动
  • udp不需要connect连接。tcp是面向连接的通信,电话的模型,udp是写信的模型
  • accept返回到是一个套接字和地址
  • 服务器没有接到请求的时候会卡在accept那个时候
  • listen关闭了之后,不能接受新的客户端
  • 关闭了accept的新套接字意味着客户端已经服务完毕
  • 服务器会解阻塞
    • 收到了消息
    • 对方挂了电话,判断长度是否为0

tcp三次握手,四次挥手只是为了知识点完整

会在网络通信过程那里讲

版权声明:本文为WalterJ726原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/WalterJ726/p/12356235.html