[PYTHON] Comment créer un simple script serveur / client TCP

introduction

Créé parce qu'il peut être utilisé pour une simple confirmation de communication entre les serveurs. Le livre auquel je faisais référence était python2, donc cela ne fonctionnait pas subtilement. Je vais télécharger une version légèrement modifiée pour python3.

À propos, l'hypothèse d'exécution est

Environnement d'exécution

・ Python 3.7.6

Procédure d'exécution

① Créez TCPserver.py et TCPclient.py sur le même HOST ② Exécutez TCPserver.py depuis le terminal ③ Démarrez un autre terminal et exécutez TCPclient.py

Client TCP

TCPclient.py


import socket

target_host="127.0.0.1"
target_port=9999

#create socket object
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# connect to object
client.connect((target_host, target_port))

# data transmission
client.send(b"ABCDEFG")

#recieve data
response = client.recv(4096)
print(response)

Serveur TCP

TCPserver.py



import socket
import threading

bind_ip = "0.0.0.0"
bind_port = 9999

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server.bind((bind_ip, bind_port))

server.listen(5)

print("[*] Listening on %s:%d" % (bind_ip, bind_port))

def handle_client(client_socket):
    request = client_socket.recv(1024)
    print("[*] Recieved: %s:" % request)
    client_socket.send("ACK!")
    client_socket.close()

while True:
    client,addr = server.accept()

    print("[*] Accepted connection from: %s:%d" % (addr[0],addr[1]))

    client_handler = threading.Thread(target=handle_client, args=(client,))
    cliend_handler.start()

Résultat d'exécution

左側がTCPserver.py 右側がTCPclient.py Résultat d'exécution de. コメント 2020-05-04 143049.png

en conclusion

Je pense que cette quantité de code est suffisante si je le connecte simplement. J'ai également appris à quel point il est facile si le serveur et le client ont le même port. En parlant de manuels, c'est vrai, mais quand on regarde ce qui fonctionne avec le code Cela m'impressionne.

Recommended Posts

Comment créer un simple script serveur / client TCP
Présentation de la création d'un socket serveur et de la création d'un socket client
Créer un serveur REST (simple)
Créer un serveur textlint simple
Comment créer un package Conda
Comment créer un pont virtuel
Comment créer un Dockerfile (basique)
Ecrire un serveur TCP super simple
Comment créer un fichier de configuration
[Python Kivy] Comment créer une simple fenêtre pop-up
Comment créer un clone depuis Github
Comment créer un dossier git clone
[Ubuntu] Comment exécuter un script shell
Comment créer un référentiel à partir d'un média
Script pour créer un fichier de dictionnaire Mac
Comment exécuter des scripts Maya Python
Comment créer un objet fonction à partir d'une chaîne
[Note] Comment créer un environnement de développement Ruby
Comment créer une boîte de saisie Kivy 1 ligne
Comment configurer un serveur de développement local
Procédure de création d'application multi-plateforme avec kivy
Comment créer une API Rest dans Django
[Note] Comment créer un environnement de développement Mac
[Python] Comment créer un environnement de serveur Web local avec SimpleHTTPServer et CGIHTTPServer
[Go] Comment créer une erreur personnalisée pour Sentry
Comment créer un référentiel local pour le système d'exploitation Linux
Script Python qui crée un fichier JSON à partir d'un fichier CSV
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Comment exécuter Django sur IIS sur un serveur Windows
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
Comment utiliser NUITKA-Utilities hinted-compilation pour créer facilement un fichier exécutable à partir d'un script Python
Comment pirater un terminal
Comment utiliser GitHub sur un serveur multi-personnes sans mot de passe
Comment exécuter un programme Python à partir d'un script shell
Comment lancer AWS Batch à partir de l'application cliente Python
Comment créer un maillage de flux autour d'un cylindre avec SnappyHexMesh
Comment faire un simple jeu Flappy Bird avec Pygame
Je n'oublierai jamais comment écrire un script shell, n'oubliez pas! !!
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Comment faire une traduction japonais-anglais
Introduction à l'API Socket apprise en langage C 3e serveur / client TCP # 1
[Langage C] [Linux] Essayez de créer une simple commande Linux * Ajoutez simplement! !!
Comment mettre un lien symbolique
Comment passer des arguments à un script Python dans SPSS Modeler Batch
Remarque sur la façon de vérifier la connexion au port du serveur de licences
Comment créer un nœud NEM (version actuelle) (NIS1: NEM Infrastructure Server)
Étapes pour créer un projet Django
Créez un script shell pour exécuter le fichier python plusieurs fois
Comment créer un bot slack
Les utilisateurs de Rails essaient de créer un moteur de blog simple avec Django
Comment créer un robot - Avancé
Comment créer une fonction récursive