Тайм-аут на стороне сервера Python - PullRequest
0 голосов
/ 30 апреля 2019

Я работаю над проектом, в котором нам нужно создать сердцебиение на стороне сервера, чтобы обнаружить 50 секунд простоя, а затем время ожидания сценария сервера.

# UDP_HbS.py

import socket
from socket import *
import sys
import time
argv = sys.argv
serverIPaddress = argv[1]

maxTimeOuts = 50
prevPacket = 0
timeouts = 0

# Create a UDP socket
# # Notice the use of SOCK_DGRAM for UDP packets
serverSocket = socket(AF_INET, SOCK_DGRAM)

# Assign IP address and port number to socket, use port 12000
serverSocket.bind((serverIPaddress,12000))


while timeouts < maxTimeOuts:
    # Receive the client packet along with the address it is coming from
    message, address = serverSocket.recvfrom(1024)

    # Capitalize the message from the client
    message = message.upper()
    serverSocket.settimeout(1)
    serverSocket.sendto(message, address)

    packet = int(message)

    if packet != prevPacket+1:
        lost = packet-prevPacket-1
        print('Lost ' + str(lost) + ' messages')
        print('Server recieved msg ' + message)

    if packet == prevPacket+1:
        print('Server recieved msg ' + message)

    try:
        prevPacket = packet

    except serverSocket.timeout:
        timeouts+=1
        print ('Server timeout' + str(timeouts),e )



print ('Connection to Client timed out after ' + timeouts + 'seconds.')

Я получаю сообщение об ошибке «Поймать исключение, которое не наследуется от Exception: timeoutpylint (перехват-исключение)» и не совсем уверен, как его исправить. Любой совет или помощь будут оценены.

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