Форум сайта python.su
Всех приветствую добрым словом, позвольте для начала описать свою проблему: я создаю чат, где сервер будет принимать все сообщения пользователей, к примеру есть два подключенных пользователя - Виталина и Платон. Виталина отправляет сообщение Платону следующего характера: “Платон привет, сегодня меня не будет на работе, буду рада если сможешь сообщить об этом нашему менеджеру”. И когда Виталина отправила сообщение, сервер в сей час получает также это сообщение в этом же виде: Виталина отправила следующее сообщение: “Платон привет, сегодня меня не будет на работе, буду рада если сможешь сообщить об этом нашему менеджеру”. Как это возможно реализовать с моим кодом? Я более менее понимаю где кроется ошибка, но к сожалению я не могу её исправить. Готов принять Вашу благочестивую помощь. Код сервера и клиента ниже:
Server:
import socket import time import threading import os HOST = '127.0.0.1' PORT = 8888 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((HOST, PORT)) def send_message(): print('Enter name: ') name = input() while True: data = client.recv(1024) print(data.decode('utf-8')) msg = (f'{name} send message {data}') client.send(msg.encode('utf-8')) # this def send_server(): listen_thread = threading.Thread(target=send_message) listen_thread.start() while True: client.send(input('you: ').encode('utf-8')) if __name__ == '__main__': os.system('clear') print('***** Welcome in Security Chat. *****') send_server()
import socket import time import threading import os HOST = '127.0.0.1' PORT = 8888 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((HOST, PORT)) def send_message(): print('Введите имя: ') name = input() while True: data = client.recv(1024) print(data.decode('utf-8')) msg = (f'{name} send message {data}') # здесь ошибка client.send(msg.encode('utf-8')) # и может здесь def send_server(): listen_thread = threading.Thread(target=send_message) listen_thread.start() while True: client.send(input('you: ').encode('utf-8')) if __name__ == '__main__': os.system('clear') print('***** Welcome in Security Chat. *****') send_server()
Отредактировано Sap2ch (Окт. 22, 2021 20:46:35)
Офлайн