@Sushkov
">alert("yohoho")

Как получить несколько ответов от клиента?

Вообщем простенький сервер который дублирует сообщение, но я не могу принять несколько сообщений, после 1 программа завершается. Пробовал код функции accept помещать в цикл но тоже без результатов.
Что сделать чтобы получилось что-то вроде чата?
server.py
import socket
def main():
    sock = socket.socket()
    sock.bind( ("", 14900) )
    sock.listen(1)
    conn, addr = sock.accept()
    accept(conn)
    conn.close()
    pass


def accept(conn):       
        data = conn.recv(16384)
        udata = data.decode("utf-8")
        print("Data: " + udata)
        conn.send(b"Hello!\n")
        conn.send(b"Your data: " + udata.encode("utf-8"))
        

if __name__ == "__main__":
    main()


client.py
import socket


def main():
    conn = socket.socket()
    try:
        conn.connect( ("127.0.0.1", 14900) )
    except ConnectionRefusedError:        
        return
    
    send = input(">>")
    conn.send(bytes(send, encoding="UTF-8"))
    data = b""
    tmp = conn.recv(1024)
    while tmp:        
        data += tmp
        tmp = conn.recv(1024)
    print( data.decode("utf-8") )
    pass

if __name__ == "__main__":
    main()
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
while 1:

для примера смотри код https://docs.python.org/3/library/http.server.html
переходи на python3
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы