Python - UDP通信

2018-02-05  本文已影响0人  断尾壁虎V

UDP通信原理

由于UDP协议不是基于链接的协议,所以在发送数据的时候不需要建立链接。在数据的每一次发送和接收的时候,都需要发送UDP报头,指定接收端的IP和端口信息。效率与TCP相比更高。使用UDP的常见服务如DNS,FTP等。
UDP数据包一般包含512个字节,当大于512字节时,可能会出现传输不稳定的情况。

示例:

# 服务端
# coding=utf-8
import socket
server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 基于网络的数据报协议 UDP
server.bind(('127.0.0.1',8080))

while True:
    msg,addr=server.recvfrom(1024)
    print(msg,addr)
    server.sendto(msg.upper(),addr)
    
    

# 客户端
#_*_coding:utf-8_*_

import socket

client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

while True:
    msg=input('>>: ').strip()
    if not msg:continue

    client.sendto(msg.encode('utf-8'),('127.0.0.1', 8080))

    back_msg,addr=client.recvfrom(1024)
    print(back_msg.decode('utf-8'),addr)

上一篇 下一篇

猜你喜欢

热点阅读