Установить время ожидания для метода подключения через сокет Python - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь написать простой http-сервер.Я хочу, чтобы он работал для заголовка Connection: keep-alive, поэтому я хочу убедиться, что у connection.recv() будет время ожидания.Я пробовал socket.settimeout(timeout) метод, но он закрывает соединение через timeout промежуток времени, даже если данные получены.Я хочу что-то вроде:

while True:
    try:
        #start to wait for timeout seconds
        request = conn.recv(256, timeout)
        process()
        #if there is no keep-alive header end the operation
        if "keep-alive" not in request:
            conn.close()
            break
        else:
            #if there was a keep alive header start getting the data
            continue
    except:
        #this means timeout seconds passed after recv() was called
        conn.close()
        break

Какой лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...