Как заставить сокет отправлять таймаут в Python - PullRequest
0 голосов
/ 19 июня 2020

Я делаю UDP-клиент и UDP-сервер. На клиенте он имеет s.sendto(message.encode('utf-8'), (host, port)). Когда я не запускаю сервер, клиент просто остается. Когда я запускаю клиент с сервером, он работает нормально. Как создать тайм-аут?

Вот код клиента UDP:

import socket

def main():
    host = socket.gethostname()
    port = 4000    
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    message = input("-> ")
    while message != 'exit':
        s.sendto(message.encode('utf-8'), (host, port))
        data, addr = s.recvfrom(1024)
        data = data.decode('utf-8')
        print("Received from server: " + data)
        message = input("-> ")
    s.close()

if __name__ == '__main__':
    main()
...