- A+
最近在学习python编程,自己稍微整理了一下这两天的学习心得
windows查看进程端口
5) 应用层
经过链路层,网络层,传输层,最后就是通过前面是三个来确认到最后需要传输到的应用中去
传输示意图
2)udp通信模型
主要客户端通过sendto(msg, (ip,port))访问,并发送消息,但不会确认是否到达,recvfrom()用来接收消息,并且会堵塞,如果一直没有消息送来,则会一直堵塞下去。服务器通过bind((ip,port))绑定ip地址和端口, 注意是元组 ,.close用来关闭连接。(注意,网路传输中都是通过字节的方式进行传输,所以再接收和发送时都要主要转码和解码)
2)tcp通信模型
tcp客服端:通过connect((ip, port))来请求连接,send()进行发送消息,recv()进行接受消息
tcp服务器: 通过bind((ip, port))绑定ip和端口,ip不写则代表默认本机所有地址,listen()控制客服端的连接数量,accept()等待阻塞,一直到客户端的到来,recv()接受消息,send()发送消息。在做多用户聊天时一定要注意accept()的位置,因为单线程每次有客户端连接都会把上次的连接断开,这里涉及到了多线程,目前正在学习中。。。
tcp传输模型
五、TCP和UDP的优缺点
1)tcp的优点
1.1 TCP采用发送应答机制
TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功。
1.3 错误校验
TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
1.4 流量控制和阻塞管理
流量控制用来避免主机发送得过快而使接收方来不及完全收下。
2)udp的优点
传输速度快,传输稳定,避免丢包,相对而言,udp会更加的安全一些
3)tcp不同与udp
面向连接(确认有创建三方交握,连接已创建才作传输。)
有序数据传输
重发丢失的数据包
舍弃重复的数据包
无差错的数据传输
阻塞/流量控制
你有遵守吗?