【2020092401】UDP与TCP协议
1、连接方面区别
TCP面向连接(如打电话要先拨号建立连接)。
UDP是无连接的,即发送数据之前不需要建立连接。
2、安全方面的区别
TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。
UDP尽最大努力交付,即不保证可靠交付。
3、传输效率的区别
TCP传输效率相对较低。
UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。
4、连接对象数量的区别
TCP连接只能是点到点、一对一的。
UDP支持一对一,一对多,多对一和多对多的交互通信。
UDP写法
import socket def main():
# 1. 创建udp的套接字 udp_socket=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) localaddr=("",7890) udp_socket.bind(localaddr)
#2.使用套接字收发数据 udp_socket.sendto("xxxx".encode("utf-8"),("192.168.33.11",7890)) udp_socket.recvfrom(1024)
#3.关闭套接字 udp_socket.close() if __name__ == "__main__": main()
TCP写法
import socket def main():
# 1. 创建tcp的套接字 tcp_socket=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#2.链接服务器 # tcp_socket.connect(("192.168.33.11",7890)) server_ip = input("请输入要连接的服务器的ip:") server_port = int(input("请输入要连接的服务器的port:")) server_addr=(server_ip,server_port) tcp_socket.connect(server_addr)
#3.发送数据/接收数据 send_data=input("请输入要发送的数据:") tcp_socket.send(send_data.encode("utf-8"))
#4.关闭套接字 udp_socket.close() if __name__ == "__main__": main()