Вытелает ошибка

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Вытелает ошибка

Сообщение excme » 18 фев 2016, 21:52

Добрый день.
Использую версию 4.9.30

При использовании mouse.send_move() выходит периодически выходит ошибка:

System.Net.WebException перехвачено
HResult=-2146233079
Message=Невозможно соединиться с удаленным сервером
Source=System
StackTrace:
в System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
в System.Net.HttpWebRequest.GetRequestStream()
в XHE.XHEBaseObject.call_function(String sCommand, Int32 iTimeout)
InnerException: System.Net.Sockets.SocketException
HResult=-2147467259
Message=Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:7011
Source=System
ErrorCode=10061
NativeErrorCode=10061
StackTrace:
в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
InnerException:

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 19 фев 2016, 02:44

С помощью Visual Studio выяснил, что причина в xhe_base.cs, метод protected string call_function(string sCommand, int iTimeout = 60 /*COMMAND_TIME*/) в строках:
// Get the request stream.
Stream dataStream = request.GetRequestStream();
или
// Get the response.
WebResponse response = request.GetResponse();

Хуман зависает и приложение перестает отвечать. Как я понимаю - это ошибка хумана, если он зависает.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3048
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Вытелает ошибка

Сообщение bigfozzy » 19 фев 2016, 09:01

Да, спасибо, разбираемся в причинах.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3048
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Вытелает ошибка

Сообщение bigfozzy » 19 фев 2016, 09:14

А после перезагрузки - ошибка остается ?

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 19 фев 2016, 11:30

Да, к сожалению.

У меня в коде есть 3 таймера, которые каждые 5 сек выполняют свои методы: спрашивают реальный ip, переход на другую страницу и проверка заголовка страницы. Основной поток выполняет парсинг страниц.

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 19 фев 2016, 12:17

Логи этого момента
Вложения
7011.zip
логи
(32.11 КБ) 94 скачивания

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 19 фев 2016, 12:21

Из логов я понял, что ошибка в Request:Connection.get_real_ip

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 19 фев 2016, 13:41

Код: Выделить всё

        string get_realIp()
        {

            string fullString = browser.send_get_query("http://checkip.dyndns.org/", "");
            var match = System.Text.RegularExpressions.Regex.Match(fullString, @"<body>(.+?)</body>").Groups[1].Value;
            int index = match.LastIndexOf(' ');
            string Ip = match.Substring(index, match.Length - index).Replace(" ", "");
            
            return Ip;
        }
Написал собственный метод и вылетов не стало. Что то у Хумана с connection.get_real_ip()

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3048
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Вытелает ошибка

Сообщение bigfozzy » 19 фев 2016, 14:04

Версию с исправлениями перезалили.

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 24 фев 2016, 07:26

Я скачал сегодня 4-9-31 и не помогло.
Зависает также и на Request:Browser.send_get_query?url=http%3A%2F%2Fcheckip.dyndns.org%2F&data=

Но бывает и отвисает. Выходит в лог:
Timeout
Timeout
Timeout
Timeout
Timeout

Зависание на 5 мин.
Использую прокси.

excme
Сообщения: 36
Зарегистрирован: 02 окт 2015, 16:38

Re: Вытелает ошибка

Сообщение excme » 24 фев 2016, 07:41

Поменял модель браузера с Advanced на Simple, но не знаю повлияло именно это.

Полностью убрал из кода все connection методы и browser.send_get_query и все стало работать быстро и не вылетать.
Если начнет виснуть или вылетать, обязательно напишу.

Ответить