Maison >développement back-end >Tutoriel Python >Comment utiliser le module socket pour créer des clients et des serveurs dans Python 3.x

Comment utiliser le module socket pour créer des clients et des serveurs dans Python 3.x

WBOY
WBOYoriginal
2023-07-29 12:21:201446parcourir

Comment utiliser le module socket pour créer un client et un serveur en Python 3. traiter. Le module socket en Python fournit la fonction de création de clients et de serveurs, rendant la communication réseau simple et pratique. Cet article explique comment utiliser le module socket dans Python 3.x pour créer des clients et des serveurs, et fournit des exemples de code.


Création d'un serveur

En Python, la création d'un serveur nécessite d'abord de créer un objet socket, puis de lier l'adresse IP et le port, et enfin d'écouter les connexions du client. Voici un exemple de code simple :
  1. import socket
    
    # 创建socket对象
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    # 绑定IP地址和端口
    server_address = ('127.0.0.1', 8000)
    server_socket.bind(server_address)
    
    # 监听连接
    server_socket.listen(5)
    
    print('服务器已启动,等待连接...')
    
    while True:
        # 阻塞等待客户端连接
        client_socket, client_address = server_socket.accept()
    
        # 处理客户端连接
        print('客户端已连接:', client_address)
    
        # 读取客户端发送的数据
        data = client_socket.recv(1024)
        print('接收到数据:', data.decode('utf-8'))
    
        # 回复客户端数据
        response = 'Hello, Client!'
        client_socket.sendall(response.encode('utf-8'))
    
        # 关闭连接
        client_socket.close()

    Dans le code ci-dessus, nous utilisons la méthode socket.socket() pour créer un objet socket, spécifiant l'utilisation de la famille d'adresses IPv4 et du protocole TCP. Liez ensuite le serveur à l'adresse IP et au port spécifiés via la méthode bind() (cet exemple utilise l'adresse IP locale 127.0.0.1 et le port 8000). Ensuite, commencez à écouter les demandes de connexion du client via la méthode Listen(). Dans la boucle while, utilisez la méthode accept() pour bloquer l'attente de la connexion du client et renvoyer un nouvel objet socket (client_socket) et l'adresse du client (client_address). Nous pouvons envoyer et recevoir des données via l'objet client_socket. Enfin, fermez la connexion client.

Création d'un client

Par rapport à la création d'un serveur, la création d'un client nécessite également de créer d'abord un objet socket et de spécifier l'adresse IP et le port du serveur à connecter. Utilisez ensuite la méthode connect() pour vous connecter au serveur et envoyer et recevoir des données. Voici un exemple de code simple :
  1. import socket
    
    # 创建socket对象
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    # 连接服务器
    server_address = ('127.0.0.1', 8000)
    client_socket.connect(server_address)
    
    # 发送数据
    message = 'Hello, Server!'
    client_socket.sendall(message.encode('utf-8'))
    
    # 接收数据
    data = client_socket.recv(1024)
    print('接收到数据:', data.decode('utf-8'))
    
    # 关闭连接
    client_socket.close()

    Dans le code ci-dessus, nous utilisons la méthode socket.socket() pour créer un objet socket, en spécifiant également la famille d'adresses IPv4 et le protocole TCP. Utilisez ensuite la méthode connect() pour vous connecter à l’adresse IP et au port du serveur. Ensuite, nous pouvons utiliser l'objet client_socket pour envoyer et recevoir des données. Dans cet exemple, nous envoyons un message sous forme de chaîne au serveur, puis recevons le message renvoyé par le serveur et l'imprimons.
Résumé :

Cet article explique comment utiliser le module socket dans Python 3.x pour créer des clients et des serveurs, et fournit un exemple de code correspondant. Grâce au module socket, nous pouvons facilement mettre en œuvre la communication réseau et réaliser la transmission de données et l'interaction entre différents rôles. Dans les projets réels, nous pouvons étendre le code en fonction des besoins réels pour réaliser des fonctions plus complexes. J'espère que cet article pourra aider les lecteurs à mieux comprendre et utiliser le module socket en Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Articles Liés

Voir plus