Я работаю над проектом, в котором нам нужно создать сердцебиение на стороне сервера, чтобы обнаружить 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 (перехват-исключение)» и не совсем уверен, как его исправить. Любой совет или помощь будут оценены.