Конференция "Сети" » Избавится от ошибки socketError 10054
 
  • stas © (10.06.11 20:29) [0]
    Здравствуйте мастера!
    Использую D2010 Indy 10.
    Связка TidSMTP+TIdIOHandlerStack
    Иногда возникает эта ошибка.
    Меня не столько волнует причина появления этой ошибки, сколько то что это сообщение не является Exception, а обычное сообщение, которое никак не гасится Try...Except.
    И собственно сам вопрос подскажите пожалуйста можно ли его как то скрывать? может в инди есть silent mode какой нибудь?
  • FireMan_Alexey © (10.06.11 21:12) [1]
    Описание ошибки!

    Ссылка и разъяснение!
    Чего-то у тебя разрывает соединение, судя по коду ошибки...

    И с каких пор try..Except не ловит исключения?

    http://www.sockets.com/err_lst1.htm

    WSAECONNRESET (10054) Connection reset by peer.

    Berkeley description: A connection was forcibly closed by a peer. This normally results from a loss of the connection on the remote socket due to a timeout or a reboot.

    WinSock description: Same as Berkeley. On a datastream socket, the connection was reset. This reset could be generated locally by the network system when it detects a connection failure, or it might be received from the remote host (in TCP terms, the remote host sent a RST packet). This error is also possible on a datagram socket; for instance, this error could result if your application sends a UDP datagram to a host, which rejects it by responding with an ICMP Port Unreachable.

    User suggestions: Some network systems have commands to report statistics. In this case, it might be possible to check the count of TCP RST packets received, or ICMP Port Unreachable packets. See other suggestions under WSAECONNABORTED.
  • stas © (10.06.11 22:01) [2]
    >И с каких пор try..Except не ловит исключения?
    т.к. это не исключение а просто сообщение.
  • sniknik © (11.06.11 10:38) [3]
    > т.к. это не исключение а просто сообщение.
    это исключение
  • sniknik © (11.06.11 10:48) [4]
    > Меня не столько волнует причина появления этой ошибки
    а должна бы... т.к. в причинах, как в правильном вопросе половина ответа, скрывается половина решения...

    ну вот причина - сервер разорвал соединение, почему? может потому, что ты его держишь? не делаешь что то, а забыл закрыть после работы? и вот решение - закрывай.
    если соединение держится специально т.е. идет длительная работа, и сервер вдруг его закрыл, "по живому" - настраивай сервер/прокси так не делается, закрываются только простаивающие.
  • stas © (11.06.11 11:16) [5]
    sniknik ©   (11.06.11 10:48) [4]
    мне нужно просто собрать эти ошибки в лог. Все собираются а на эти выводится сообщение...
  • Anatoly Podgoretsky © (11.06.11 12:48) [6]
    Код то где?
  • Anatoly Podgoretsky © (11.06.11 12:49) [7]
    А избавить от ошибки просто, добиться того, что бы соединение не разрывалось
  • stas © (11.06.11 15:04) [8]
    Я извиняюсь, у меня в коде стоял обработчик exception и там showmessage )

    Anatoly Podgoretsky ©   (11.06.11 12:49) [7]
    мне нужно ее показывать.
  • stas © (11.06.11 15:10) [9]
    всем спасибо за помощь )
  • sniknik © (11.06.11 16:42) [10]
    > Код то где?
    волшебные слова... после которых все "само" решается, лишь бы не показывать. :)
  • stas © (11.06.11 17:58) [11]
    Да скрывать нечего, просто как раз начал просматривать чтобы опубликовать)
 
Конференция "Сети" » Избавится от ошибки socketError 10054
Есть новые Нет новых   [134436   +23][b:0][p:0.001]