Commencez la communication avec UDP et envoyez et recevez avec TCP

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

Commencez la communication avec UDP et envoyez et recevez avec TCP
Envoyer et recevoir des données binaires via une communication série avec python3 (sur Mac)
Envoi et réception d'images Flask
Envoyez et recevez des données avec MQTT via Watson IoT Platform
[aws] Envoyer et recevoir des messages sqs
Connectez-vous avec PycURL et recevez une réponse
POSTER diversement avec Python et recevoir avec Flask
Envoyer et recevoir des données d'image au format JSON en Python sur le réseau
Démarrer le calcul numérique avec Python (avec Homebrew et pip)
POSTER l'image avec json et la recevoir avec flask