Как реализовать отправку сообщения от клиента серверу через модуль struct

Пишу очень простенький чат на пару человек при помощи python и пытаюсь реализовать отправку сообщения с модулем struct, собеседник должен сначала ввести строку формата в зависимости от значения(численные, строчные и т.п.). Своими силами получается так себе, есть ли какие-нибудь идеи лёгкой реализации?

Сервер:

import socket
import threading


server = socket.socket(
    
    socket.AF_INET,
    socket.SOCK_STREAM,
    
)


server.bind(
    ("127.0.0.1", 1234)
)

server.listen(5)
print("Server is listening")

users = []


def send_all(data):
    for user in users:
        user.send(data)


def listen_user(user):
    print("Listening user")

    while True:
        data = user.recv(2048)
        print(f"User sent {data}")

        send_all(data)


def start_server():
    while True:
        user_socket, address = server.accept()
        print(f"User <{address[0]}> connected!")

        users.append(user_socket)
        listen_accepted_user = threading.Thread(
            target=listen_user,
            args=(user_socket,)
        )

        listen_accepted_user.start()


if __name__ == '__main__':
    start_server()

Клиент:

import socket
from threading import Thread

client = socket.socket(
    
    socket.AF_INET,
    socket.SOCK_STREAM,

)

client.connect(
    ("127.0.0.1", 9090)
)


def listen_server():
    while True:
        data = client.recv(2048)
        print(data.decode("utf-8"))


def send_server():
    listen_thread = Thread(target=listen_server)
    listen_thread.start()

    while True:
        client.send(input(":::").encode("utf-8"))


if __name__ == '__main__':
    send_server()

Ответы (0 шт):