【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()
原文地址:https://www.cnblogs.com/zhouxue0621/p/13724245.html