código del servidor:
. 1 de Socket importación * 2 . 3 udp_server = Socket (AF_INET, SOCK_DGRAM) # sockets de datagramas . 4 udp_server.bind (( ' 127.0.0.1 ' , 8080 )) 5. El mientras Verdadero: . 6 de datos = udp_server.recvfrom (1024) # aceptado que una tupla, se recibe la tupla del primer byte de parámetro, el segundo parámetro es la dirección del remitente . 7 de impresión (datos) . 8 de impresión (datos [0] .decode ())
El código de cliente:
. 1 de Socket importación * 2 . 3 udp_client = Socket (AF_INET, SOCK_DGRAM) . 4 udp_client.sendto ( ' Hola, Python ' .encode (), ( ' 127.0.0.1 ' , 8080)) # transmisión UDP para una tupla, el primer byte de parámetro, el segundo argumento es la dirección del destinatario
TCP y UDP diferencia
byte nulo puede aceptar UDP recvfrom () no puede aceptar recv TCP nula ()
UDP se puede lograr al mismo tiempo servir a múltiples clientes simultáneos
Tiempo para alcanzar servidor de programa de adquisición:
1 de socket importación * 2 importación tiempo 3 4 udp_server = socket (AF_INET, SOCK_DGRAM) 5 udp_server.bind (( ' 127.0.0.1 ' , 8080 )) 6 , mientras que cierto: 7 de datos, addr = udp_server.recvfrom (1024 ) 8 # imprimir (data.decode ()) 9 si no datos: 10 fm = ' % Y-% m-% d% X ' 11 otra cosa : 12 fm = data.decode () 13 udp_server.sendto (time.strftime (fm) .encode (), addr)
servidor:
. 1 de Socket importación * 2 . 3 upp_client = Socket (AF_INET, SOCK_DGRAM) . 4 el mientras Verdadero: . 5 MSG = INPUT ( ' Enter Formato: ' ) . 6 upp_client.sendto (msg.encode (), ( ' 127.0.0.1 ' , 8080 )) . 7 de datos, dir = upp_client.recvfrom (1024 ) . 8 impresión ( ' información del servidor se envía, ' , data.decode ())