Как исправить ошибку ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение
Программа работает, но иногда она может вылететь с ошибкой: "ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение" при работе, или при запуске. Как можно было бы это исправить? (Python 3.8) Вот мой код:
import config
import socket
import re
import threading
import _thread
def main():
s = socket.socket()
s.connect((config.HOST, config.PORT))
s.send("PASS {}\r\n".format(config.PASS).encode("utf-8"))
s.send("NICK {}\r\n".format(config.NICK).encode("utf-8"))
s.send("JOIN #{}\r\n".format(config.CHAN).encode("utf-8"))
chat_message = re.compile(r"^:\w+!\w+@\w+\.tmi\.twitch\.tv PRIVMSG #\w+ :")
while True:
response = s.recv(1024).decode("utf-8")
if response == "PING :tmi.twitch.tv\r\n":
s.send("PONG :tmi.twitch.tv\r\n".encode("utf-8"))
else:
username = re.search(r"\w+", response).group(0)
message = chat_message.sub("", response)
print(response)
if __name__ == "__main__":
main()
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Добавил пример цикла и отлова исключения:
...
if __name__ == "__main__":
while True:
try:
main()
except Exception as e:
print(f"[-] Error: {e}")
Если нужно выводить трассу стека ошибки, используйте модуль traceback