Вытелает ошибка
Вытелает ошибка
Добрый день.
Использую версию 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:
Использую версию 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:
Re: Вытелает ошибка
С помощью 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();
Хуман зависает и приложение перестает отвечать. Как я понимаю - это ошибка хумана, если он зависает.
// Get the request stream.
Stream dataStream = request.GetRequestStream();
или
// Get the response.
WebResponse response = request.GetResponse();
Хуман зависает и приложение перестает отвечать. Как я понимаю - это ошибка хумана, если он зависает.
Re: Вытелает ошибка
Да, спасибо, разбираемся в причинах.
Re: Вытелает ошибка
А после перезагрузки - ошибка остается ?
Re: Вытелает ошибка
Да, к сожалению.
У меня в коде есть 3 таймера, которые каждые 5 сек выполняют свои методы: спрашивают реальный ip, переход на другую страницу и проверка заголовка страницы. Основной поток выполняет парсинг страниц.
У меня в коде есть 3 таймера, которые каждые 5 сек выполняют свои методы: спрашивают реальный ip, переход на другую страницу и проверка заголовка страницы. Основной поток выполняет парсинг страниц.
Re: Вытелает ошибка
Из логов я понял, что ошибка в Request:Connection.get_real_ip
Re: Вытелает ошибка
Код: Выделить всё
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;
}
Re: Вытелает ошибка
Версию с исправлениями перезалили.
Re: Вытелает ошибка
Я скачал сегодня 4-9-31 и не помогло.
Зависает также и на Request:Browser.send_get_query?url=http%3A%2F%2Fcheckip.dyndns.org%2F&data=
Но бывает и отвисает. Выходит в лог:
Timeout
Timeout
Timeout
Timeout
Timeout
Зависание на 5 мин.
Использую прокси.
Зависает также и на Request:Browser.send_get_query?url=http%3A%2F%2Fcheckip.dyndns.org%2F&data=
Но бывает и отвисает. Выходит в лог:
Timeout
Timeout
Timeout
Timeout
Timeout
Зависание на 5 мин.
Использую прокси.
Re: Вытелает ошибка
Поменял модель браузера с Advanced на Simple, но не знаю повлияло именно это.
Полностью убрал из кода все connection методы и browser.send_get_query и все стало работать быстро и не вылетать.
Если начнет виснуть или вылетать, обязательно напишу.
Полностью убрал из кода все connection методы и browser.send_get_query и все стало работать быстро и не вылетать.
Если начнет виснуть или вылетать, обязательно напишу.