Je l'ai écrit à titre d'essai, mais je n'ai pas semblé l'utiliser, donc un mémo pendant un certain temps
UDPServer_and_TCPClient.py
#Exécutez le serveur UDP et le client TCP
from socket import socket, AF_INET, SOCK_DGRAM, SOCK_STREAM
#Une fonction qui démarre une connexion avec TCP et envoie des données
def tcp_send():
with socket(AF_INET, SOCK_STREAM) as s:
s.connect(('127.0.0.1', 50010))
while True:
s.sendall(b'hello')
#Serveur UDP
udp_server = socket(AF_INET, SOCK_DGRAM)
udp_server.bind(('', 8888))
while True:
msg, address = udp_server.recvfrom(8192)
if msg.decode('utf-8') == "tcp_start":
#Lorsque vous recevez une chaîne spécifique, connectez le client TCP et envoyez
tcp_send()
break
udp_server.close()
TCPServer_and_UDPClient.py
#Exécutez le serveur TCP et le client UDP
from socket import socket, AF_INET, SOCK_DGRAM, SOCK_STREAM
#Fonction pour envoyer UDP
def udp_send():
udp_client = socket(AF_INET, SOCK_DGRAM)
udp_client.sendto("tcp_start".encode(), ("127.0.0.1", 8888))
#Créer un serveur TCP
with socket(AF_INET, SOCK_STREAM) as tcp_server:
tcp_server.bind(('127.0.0.1', 50010))
tcp_server.listen(1)
#Transmission UDP
udp_send()
while True:
conn, addr = tcp_server.accept()
with conn:
while True:
data = conn.recv(1024)
print(data.decode('utf-8'))
Recommended Posts