Вот пример реализации клиент-серверного взаимодействия на Python с использованием модуля socket
. Сервер будет определять четность числа, а клиент будет отправлять число, равное количеству символов в строке.
Сервер (server.php)
import socket
def handle_client(client_socket):
try:
# Получаем данные от клиента
number = int(client_socket.recv(1024).decode())
# Определяем четность числа
response = "even" if number % 2 == 0 else "odd"
# Отправляем ответ клиенту
client_socket.send(response.encode())
except ValueError:
client_socket.send("Invalid input".encode())
finally:
client_socket.close()
def main():
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 9999))
server.listen(5)
print("Server listening on port 9999")
while True:
client_socket, addr = server.accept()
print(f"Accepted connection from {addr}")
handle_client(client_socket)
if __name__ == "__main__":
main()
Клиент (client.py)
import socket
def main():
server_address = ('127.0.0.1', 9999)
# Ввод строки от пользователя
user_input = input("Enter a string: ")
length = len(user_input)
# Создаем сокет и подключаемся к серверу
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(server_address)
try:
# Отправляем длину строки на сервер
client.send(str(length).encode())
# Получаем ответ от сервера
response = client.recv(1024).decode()
print(f"Server response: {response}")
finally:
client.close()
if __name__ == "__main__":
main()
Сервер прослушивает входящие соединения на порту 9999
.
Клиент запрашивает у пользователя строку, считает количество символов в строке и отправляет это число на сервер.
Сервер получает число, определяет, четное оно или нечетное, и отправляет соответствующий ответ клиенту.
Клиент выводит ответ сервера на экран.
Автор: Евгений Морковин
0 комментариев