0
0 комментариев

Доброго времени,

Изучаю сокеты и столкнулся с такой проблемой

Есть простенький сервер:

import socket
 
HOST = 'localhost'
PORT = 51234
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
 
conn, addr = s.accept()
 
print('Client: ', addr)
 
while True:
    data = conn.recv(4096)
    print('Recieved: ',bytes.decode(data))
    if bytes.decode(data) == 'q':
        break
    conn.sendall(data)
conn.close()
 
input()

Проблема в том, что когда я подключаюсь через telnet localhost 51234

Ввожу символы, получается так, что каждый символ отправляется сразу после нажатия самого символа, а не после подтверждения энтером

Client:  ('127.0.0.1', 58381)
Recieved:  s
Recieved:  f
Recieved:  e
Recieved:  w

Как сделать так, чтобы на сервер отправлялась целая строка из консоли (после нажатия энтера)? А не каждый символ по отдельности?


Добавить комментарий