Top.Mail.Ru

Создание клиент-серверного приложения на Python

Создание клиент-серверного приложения на Python

Создание клиент-серверного приложения на Python обычно включает в себя использование библиотек для работы с сокетами. Ниже приведен пример простого клиент-серверного приложения.

Пример сервера:

import socket

# Создаем сокет
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Привязываем сокет к адресу и порту
server_address = ('localhost', 12345)
server_socket.bind(server_address)

# Начинаем прослушивание входящих подключений
server_socket.listen(1)
print('Сервер слушает на {}:{}'.format(*server_address))

while True:
    # Ждем подключения
    print('Ожидание подключения...')
    client_socket, client_address = server_socket.accept()
    print('Принято подключение от', client_address)

    # Читаем данные от клиента
    data = client_socket.recv(1024)
    print('Получены данные:', data.decode('utf-8'))

    # Отправляем ответ клиенту
    message = 'Привет, клиент!'
    client_socket.sendall(message.encode('utf-8'))

    # Закрываем соединение с клиентом
    client_socket.close()

Пример клиента:

import socket

# Создаем сокет
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Подключаемся к серверу
server_address = ('localhost', 12345)
client_socket.connect(server_address)
print('Подключено к серверу', server_address)

# Отправляем данные на сервер
message = 'Привет, сервер!'
client_socket.sendall(message.encode('utf-8'))

# Читаем ответ от сервера
data = client_socket.recv(1024)
print('Получен ответ от сервера:', data.decode('utf-8'))

# Закрываем соединение
client_socket.close()

 

Обратите внимание, что в приведенных примерах сервер ожидает подключения от одного клиента за раз. Для обработки нескольких клиентов одновременно, обычно используются многозадачные подходы, такие как многопоточность или асинхронное программирование.

Автор:

428

Читайте также

0 комментариев