Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan TCP untuk melaksanakan perbualan antara klien dan pelayan dalam python

Cara menggunakan TCP untuk melaksanakan perbualan antara klien dan pelayan dalam python

WBOY
Lepaskan: 2023-05-17 15:40:55
ke hadapan
1443 orang telah melayarinya

Klien TCP

Kod sampel untuk pelanggan yang menggunakan protokol TCP untuk melaksanakan perbualan berterusan:

import socket
# 客户端配置
HOST = 'localhost'
PORT = 12345
# 创建TCP套接字并连接服务器
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
while True:
    # 获取用户输入
    message = input("请输入要发送的消息:")
    # 发送消息到服务器
    client_socket.sendall(message.encode("utf-8"))
    # 接收服务器传回的消息
    data = client_socket.recv(1024)
    print(f"收到来自服务器的消息:{data.decode('utf-8')}")
# 关闭套接字
client_socket.close()
Salin selepas log masuk

Dalam contoh ini, kami mula-mula mencipta soket TCP dan menggunakan connect() fungsi menyambung ke alamat dan port pelayan yang ditentukan. Kami kemudiannya menghantar mesej secara berterusan kepada pelayan dengan input pengguna dan menunggu pelayan membalas dan memaparkan keputusannya. Ambil perhatian bahawa memandangkan TCP ialah protokol berorientasikan sambungan, kami boleh menjamin kebolehpercayaan dan keteraturan mesej sepanjang sambungan.

Akhir sekali, kami menutup soket melalui fungsi close().

Perlu diingatkan bahawa apabila kita menggunakan protokol TCP, kita perlu memastikan pelayan juga menggunakan protokol TCP untuk komunikasi yang sepadan.

Pelayan TCP

Berikut ialah kod contoh pelayan yang menggunakan protokol TCP untuk mencapai dialog berterusan:

import socket
# 服务器配置
HOST = 'localhost'
PORT = 12345
# 创建TCP套接字并绑定到地址和端口
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
# 监听连接
server_socket.listen()
# 接受连接并与客户端建立通信
client_socket, client_address = server_socket.accept()
print(f"与客户端 {client_address} 建立连接。")
while True:
    # 接收客户端传来的消息
    data = client_socket.recv(1024)
    print(f"来自{client_address}的消息:{data.decode('utf-8')}")
    if not data: # 如果客户端关闭了连接,则退出循环 
        break
    # 获取用户输入
    message = input("请输入要发送的消息:")
    # 发送消息到客户端
    client_socket.sendall(message.encode("uft-8"))
# 关闭套接字
client_socket.close()
server_socket.close()
Salin selepas log masuk

Dalam contoh ini, kami mula-mula mencipta antara muka soket TCP dan mengikatnya ke alamat dan port yang ditentukan. Kemudian, kami mula mendengar permintaan sambungan pelanggan melalui fungsi listen().

Apabila pelanggan menyambung, kami memanggil fungsi accept() untuk menerima sambungan dan mengembalikan soket dan alamat pelanggan. Kami kemudiannya terus menerima dan menghantar data melalui gelung, sekali gus membolehkan perbualan berterusan.

Sila ambil perhatian bahawa memandangkan TCP ialah protokol berorientasikan sambungan, kami boleh menjamin kebolehpercayaan dan keteraturan mesej melalui sambungan. Akhir sekali, kami menutup soket melalui fungsi close().

Perlu diambil perhatian bahawa dalam pembangunan sebenar, kita mungkin perlu mencipta urutan atau proses baharu untuk setiap sambungan supaya dapat mengendalikan berbilang sambungan pelanggan pada masa yang sama.

Atas ialah kandungan terperinci Cara menggunakan TCP untuk melaksanakan perbualan antara klien dan pelayan dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan