Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2021 20:39:10

Sap2ch
Зарегистрирован: 2021-09-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как выводить вводимую пользователем информацию на сервер? | Python

Всех приветствую добрым словом, позвольте для начала описать свою проблему: я создаю чат, где сервер будет принимать все сообщения пользователей, к примеру есть два подключенных пользователя - Виталина и Платон. Виталина отправляет сообщение Платону следующего характера: “Платон привет, сегодня меня не будет на работе, буду рада если сможешь сообщить об этом нашему менеджеру”. И когда Виталина отправила сообщение, сервер в сей час получает также это сообщение в этом же виде: Виталина отправила следующее сообщение: “Платон привет, сегодня меня не будет на работе, буду рада если сможешь сообщить об этом нашему менеджеру”. Как это возможно реализовать с моим кодом? Я более менее понимаю где кроется ошибка, но к сожалению я не могу её исправить. Готов принять Вашу благочестивую помощь. Код сервера и клиента ниже:

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()


Client:

 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version