TCP和UDP

一、TCP和UDP对比

TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存&接  收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。

UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对  一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。

 

二、TCP和UDP下的socket

 

Import socket
Server = socket.socket()
Ip_port = (‘192.168.12.11’,8003)  #127.0.0.1 本机的回环地址
Server.bind(ip_port)  #绑定ip地址和端口
Server.listen()  #监听ip
Conn,addr = server.accept()
From_client_msg = conn.recv(1024)
Print(from_client_msg.decode(‘utf-8’)) 
Conn.send(‘大力’.encode(‘utf-8’))
Conn.close()
Server.close()

客户端:
Import socket
Client = socket.socket()
Ip_port = (‘192.168.12.11’,8003)
Client.connect(ip_port)
Client.send(‘奇迹’.encode(‘utf-8’))
     From_server_msg = client.recv(1024)
Print(from_server_msg.decode(‘utf-8’))
Client.close()
tcp下的socket

 

# 服务端
import socket

udp_server = socket.socket(type=socket.SOCK_DGRAM) #datagram

ip_port = ('127.0.0.1', 8002)
udp_server.bind(ip_port)

from_client_msg, client_addr = udp_server.recvfrom(1024)

udp_server.sendto(b'gunduzi', client_addr)


print(from_client_msg, client_addr)

# 客户端
import socket
udp_client = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1',8002)
udp_client.sendto(b'hello',ip_port)

from_server_msg,server_addr = udp_client.recvfrom(1024)
print(from_server_msg,server_addr)
udp下的socket

 

posted @ 2019-01-03 22:21  王胖儿  阅读(125)  评论(0编辑  收藏  举报