[Python-13] Programación de red-Modelo UDP

Servidor

import socket
# socket.AF_INET (IPV4)
# socket.SOCK_STREAM (TCP)
# socket.SOCK_DGRAM (udp)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 监听 IP:port
host_name = socket.gethostname()
host = socket.gethostbyname(host_name)
print(host)
s.bind((host, 8008))

# 循环 每次有新的连接触发
while True:
    # 无连接
    # tcp 需要连接、获取一个可读写的 "流"
    # udp 无连接、直接接受数据包

    # 请求处理
    # data 当前数据包
    # addr 当前连接ip:port
    data, addr = s.recvfrom(1024)

    # 响应处理
    s.sendto(data, addr)

Cliente

 
# UDP 的用法和 TCP 类似,只是 UDP 是 无连接的,比 TCP 省略了一个步骤。


import socket 

host_name = socket.gethostname()
host = socket.gethostbyname(host_name)

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

# 无连接

# 请求 | 发送数据到服务端
s.sendto(b'hello', (host, 8008))

# 响应 | 接受服务端返回到数据
data = s.recv(1024).decode('utf-8')

print(data) # hello

# 关闭 socket
s.close()
134 artículos originales publicados · Me gustaron 119 · Visite 310,000+

Supongo que te gusta

Origin blog.csdn.net/jobbofhe/article/details/90407878
Recomendado
Clasificación