如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

  • A+
所属分类:python基础入门

最近在学习python编程,自己稍微整理了一下这两天的学习心得

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

windows查看进程端口

5) 应用层

经过链路层,网络层,传输层,最后就是通过前面是三个来确认到最后需要传输到的应用中去

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

传输示意图

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

2)udp通信模型

主要客户端通过sendto(msg, (ip,port))访问,并发送消息,但不会确认是否到达,recvfrom()用来接收消息,并且会堵塞,如果一直没有消息送来,则会一直堵塞下去。服务器通过bind((ip,port))绑定ip地址和端口, 注意是元组 ,.close用来关闭连接。(注意,网路传输中都是通过字节的方式进行传输,所以再接收和发送时都要主要转码和解码)

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

2)tcp通信模型

tcp客服端:通过connect((ip, port))来请求连接,send()进行发送消息,recv()进行接受消息

tcp服务器: 通过bind((ip, port))绑定ip和端口,ip不写则代表默认本机所有地址,listen()控制客服端的连接数量,accept()等待阻塞,一直到客户端的到来,recv()接受消息,send()发送消息。在做多用户聊天时一定要注意accept()的位置,因为单线程每次有客户端连接都会把上次的连接断开,这里涉及到了多线程,目前正在学习中。。。

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

tcp传输模型

五、TCP和UDP的优缺点

1)tcp的优点

1.1 TCP采用发送应答机制

TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功。

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

1.3 错误校验

TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

1.4 流量控制和阻塞管理

流量控制用来避免主机发送得过快而使接收方来不及完全收下。

2)udp的优点

传输速度快,传输稳定,避免丢包,相对而言,udp会更加的安全一些

3)tcp不同与udp

面向连接(确认有创建三方交握,连接已创建才作传输。)

有序数据传输

重发丢失的数据包

舍弃重复的数据包

无差错的数据传输

阻塞/流量控制

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

你有遵守吗?

如果你不遵守Python中TCP和UDP等网络编程协议!那么你会自食其果

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: