Вопрос не относится к статье, но связан с сетевой функцией чтения.
Сделал замер выполнения функции SocketTlsReadAvailable()
double avgDelay = 0.0;
double it = 0.0;
//-----------------------------------------------------------------------------void Recv()
{
ulong start = GetMicrosecondCount();
int qtyByte = SocketTlsReadAvailable(socket, buf, len);
double delay = (GetMicrosecondCount()-start)/1000.0;
avgDelay += delay;
PrintFormat("Bytes received %d Total time: %.3f ms Avg time: %.3f ms", qtyByte, delay, avgDelay/++it);
}
2021.08.2117:34:35.110 Test Bytes received 142 Total time: 2.860 ms Avg time: 11.824 ms
2021.08.2117:34:35.111 Test Bytes received 852 Total time: 1.131 ms Avg time: 11.819 ms
2021.08.2117:34:35.113 Test Bytes received 710 Total time: 1.874 ms Avg time: 11.815 ms
2021.08.2117:34:35.114 Test Bytes received 142 Total time: 0.668 ms Avg time: 11.810 ms
2021.08.2117:34:35.117 Test Bytes received 142 Total time: 2.551 ms Avg time: 11.805 ms
2021.08.2117:34:35.132 Test Bytes received 0 Total time: 15.564 ms Avg time: 11.807 ms
2021.08.2117:34:35.148 Test Bytes received 0 Total time: 15.616 ms Avg time: 11.809 ms
2021.08.2117:34:35.149 Test Bytes received 0 Total time: 1.383 ms Avg time: 11.804 ms
2021.08.2117:34:35.151 Test Bytes received 710 Total time: 1.855 ms Avg time: 11.799 ms
2021.08.2117:34:35.164 Test Bytes received 142 Total time: 12.117 ms Avg time: 11.800 ms
2021.08.2117:34:35.179 Test Bytes received 0 Total time: 15.530 ms Avg time: 11.801 ms
2021.08.2117:34:35.195 Test Bytes received 0 Total time: 15.542 ms Avg time: 11.803 ms
2021.08.2117:34:35.210 Test Bytes received 0 Total time: 15.570 ms Avg time: 11.805 ms
2021.08.2117:34:35.218 Test Bytes received 0 Total time: 7.363 ms Avg time: 11.803 ms
2021.08.2117:34:35.226 Test Bytes received 142 Total time: 8.143 ms Avg time: 11.801 ms
2021.08.2117:34:35.242 Test Bytes received 0 Total time: 15.549 ms Avg time: 11.803 ms
2021.08.2117:34:35.257 Test Bytes received 0 Total time: 15.554 ms Avg time: 11.804 ms
2021.08.2117:34:35.273 Test Bytes received 0 Total time: 15.351 ms Avg time: 11.806 ms
***
***
***
Почему такое большое время выполнения функции? Можно ли с вашей стороны, оптимизировать функции чтения?
Я только что протестировал вашу ea, и она действительно подключилась к моему серверу C# websocket, однако после подключения и отправки сообщения на вкладке журнала появилась эта ошибка
Сейчас нет времени, но надо бы мне сделать набор CSocketRaw, CSocketTLS, CSocketHTTP реализаций в стандартной библиотеке MQL5.
Будет часов 8 свободного времени, сделаю.
Спасибо, ждём!
Сейчас нет времени, но надо бы мне сделать набор CSocketRaw, CSocketTLS, CSocketHTTP реализаций в стандартной библиотеке MQL5.
Будет часов 8 свободного времени, сделаю.
Желательно начать с чего-то простого, но реально рабочего, например, получить ответ от wss://echo.websocket.org.
Отличная работа @Francis Dube, спасибо!
Возможно ли создать MQL5-сервис, выполняющий роль WebSocket-сервера? У вас есть примеры?
Вопрос не относится к статье, но связан с сетевой функцией чтения.
Сделал замер выполнения функции SocketTlsReadAvailable()
Почему такое большое время выполнения функции?
Можно ли с вашей стороны, оптимизировать функции чтения?
Отличная работа,
Я только что протестировал вашу ea, и она действительно подключилась к моему серверу C# websocket, однако после подключения и отправки сообщения на вкладке журнала появилась эта ошибка
2022.02.08 07:33:36.176 Websocketclient_test (XAUUSD,M15) [MQL error ID: 5270][Is Socket Readable ][Line: 238][Function: CSocket::Readable]
Есть идеи, как я могу это исправить. Также отправка обратно на Mt4, похоже, не сработала
@Francis Dube Спасибо за эту библиотеку. Есть небольшое изменение, которое мне пришлось сделать, чтобы она работала с URL после /, например /ws/.
Однако я обнаружил, что она не стабильна и не всегда работает, в то время как ваша версия WinAPI работает намного лучше.
Поскольку эта библиотека является родной, есть ли у вас улучшенная версия с исправленными проблемами стабильности?
Спасибо
Now I don't have time, but I should make a set of CSocketRaw, CSocketTLS, CSocketHTTP implementations in the MQL5 standard library .
There will be 8 hours of free time, I will do.
Прошло уже два года, а ответа до сих пор нет.
А нельзя эту функцию использовать как Memory Maping Files?
Чтобы код не переписывать а использовать уже готовое решение.
Конечно фантастика но эта функция такой и должна быть на самом деле: Записывать информацию за пределы терминала.
Прошло уже два года, а ответа до сих пор нет.
Так обещанного 3 года ждут... осталось совсем немного - год подождать ))