Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menggunakan modul soket untuk mencipta klien dan pelayan dalam Python 3.x

Cara menggunakan modul soket untuk mencipta klien dan pelayan dalam Python 3.x

WBOY
WBOYasal
2023-07-29 12:21:201440semak imbas

Cara menggunakan modul soket untuk mencipta klien dan pelayan dalam Python 3. berurusan dengan. Modul soket dalam Python menyediakan fungsi mencipta klien dan pelayan, menjadikan komunikasi rangkaian mudah dan mudah. Artikel ini akan memperkenalkan cara menggunakan modul soket dalam Python 3.x untuk mencipta klien dan pelayan, serta menyediakan contoh kod.


Mencipta pelayan

Dalam Python, mencipta pelayan memerlukan mula-mula mencipta objek soket, kemudian mengikat alamat IP dan port, dan akhirnya mendengar sambungan daripada klien. Berikut ialah kod sampel mudah:
  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()

    Dalam kod di atas, kami menggunakan kaedah socket.socket() untuk mencipta objek soket, menyatakan penggunaan keluarga alamat IPv4 dan protokol TCP. Kemudian ikat pelayan ke alamat IP dan port yang ditentukan melalui kaedah bind() (contoh ini menggunakan alamat IP tempatan 127.0.0.1 dan port 8000). Seterusnya, mula mendengar permintaan sambungan daripada klien melalui kaedah listen(). Dalam gelung sementara, gunakan kaedah accept() untuk menyekat menunggu sambungan klien dan mengembalikan objek soket baharu (client_socket) dan alamat klien (client_address). Kami boleh menghantar dan menerima data melalui objek client_socket. Akhir sekali, tutup sambungan pelanggan.

Mencipta klien

Berbanding dengan mencipta pelayan, mencipta klien juga memerlukan terlebih dahulu mencipta objek soket dan menyatakan alamat IP dan port pelayan untuk disambungkan. Kemudian gunakan kaedah connect() untuk menyambung ke pelayan dan menghantar serta menerima data. Berikut ialah kod sampel mudah:
  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()

    Dalam kod di atas, kami menggunakan kaedah socket.socket() untuk mencipta objek soket, juga menyatakan keluarga alamat IPv4 dan protokol TCP. Kemudian gunakan kaedah connect() untuk menyambung ke alamat IP dan port pelayan. Seterusnya, kita boleh menggunakan objek client_socket untuk menghantar dan menerima data. Dalam contoh ini, kami menghantar mesej rentetan ke pelayan, kemudian menerima mesej yang dikembalikan oleh pelayan dan mencetaknya.
Ringkasan:

Artikel ini memperkenalkan cara menggunakan modul soket dalam Python 3.x untuk mencipta pelanggan dan pelayan, dan menyediakan kod sampel yang sepadan. Melalui modul soket, kami boleh melaksanakan komunikasi rangkaian dengan mudah dan merealisasikan penghantaran data dan interaksi antara peranan yang berbeza. Dalam projek sebenar, kita boleh mengembangkan kod mengikut keperluan sebenar untuk mencapai fungsi yang lebih kompleks. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan modul soket dalam Python.

Atas ialah kandungan terperinci Cara menggunakan modul soket untuk mencipta klien dan pelayan dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel berkaitan

Lihat lagi