Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы просто не понимаете и не умеете пользоваться этой функцией.
Эта функция моментально выдает доступное количество пришедших байт во входном буфере, а не говорит о том, что сокет живой. Функция очень важна и позволяет не уходить в синхронное ожидание, а вычитывать порционно данные, не теряя контроля над программой.
И TLS функции тоже правильные - они ведь даны для подготовленных пользователей, которые знают как и в какой последовательности ими пользоваться. Они не для тех, кто «вызвал и все».
Мало того, сокетные и tls функции в чистом виде те же самые, что использует терминал для raw/tls/https соединений терминал. То есть, все отлично работает. Эти же реализации работают в наших высоконагруженных решениях.
Сырые сетевые функции не для новичков и не для наивного использования. Надо достаточно хорошо понимать принципы и особенности сетевого взаимодействия. А если речь об TLS, то методы и последовательность обработки handshake процесса.Эта функция не имеет параметра буфера. О каком входном буфере речь?
Не знаю о каком понимании вы говорите и для каких юзеров, эту ошибку нашёл Ильяс и вроде принял за ошибку.
В том то и дело, что все пользователи ориентируются на примеры из документации для сокетов.
А продвинутые пользователи пишут спецификацию протокола, и апргрейды и разбор фрейма всё это понимаем.
Проблема в том, что функция SocketIsReadable(socket) не понятно что возвращает, для wss: фрейма.
Есть какое-нибудь обоснование? Что за магическое число и почему оно подойдет для сообщения длиной 256 или 1500, например?
Обоснование? Да фиг его знает. С числом в переменной, читает без проблем. Длина выставлена на примерный максимальный размер входящего фрейма.
Можно и по максимуму поставить, не на что не влияет.
А с функцией SocketIsReadable(socket) сам знаешь, что читает с ошибкой.
То что возвращает SocketIsReadable(socket) в len, не подходит в SocketTlsRead() и SocketTlsReadAvailable()
Эта функция не имеет параметра буфера. О каком входном буфере речь?
Не знаю о каком понимании вы говорите и для каких юзеров, эту ошибку нашёл Ильяс и вроде принял за ошибку.
В том то и дело, что все пользователи ориентируются на примеры из документации для сокетов.
А продвинутые пользователи пишут спецификацию протокола, и апргрейды и разбор фрейма всё это понимаем.
Проблема в том, что функция SocketIsReadable(socket) не понятно что возвращает, для wss: фрейма.
То есть, вы вообще понятия не имеете о сокетах и их буферах, но учите нас ошибкам.
Вопрос был относительно функции SocketIsReadible, и то что функция имеет внутренний буфер, это понятно.
Вы же пишите за буфер функции SocketIsReadible, но это как то странно о нём упоминать, если пользователю он не доступен.
Вопрос был относительно функции SocketIsReadible, и то что функция имеет внутренний буфер, это понятно.
Вы же пишите за буфер функции SocketIsReadible, но это как то странно о нём упоминать, если пользователю он не доступен.
.

.
Первая часть его ответа верная, обьясняет разницу между размерами сырых данных и расшифрованных.
Я понимаю ваш не оспоримый опыт. И спорить с вами не кто не собирался.
Но статья не раскрывает вопрос, как правильно использовать wss: в MQL!
Потому что автор статьи, так же не понимает этого момента, как и все остальные (даже продвинутые) пользователи.
По этому и использую в своей реализации, фикс размер в виде костыля.
Покажите пожалуйста правильную вычитку wss: фрейма на MQL с учётом пула SocketIsReadable, все скажут только спасибо.
Я понимаю ваш не оспоримый опыт. И спорить с вами не кто не собирался.
Но статья не раскрывает вопрос, как правильно использовать wss: в MQL!
Потому что автор статьи, так же не понимает этого момента, как и все остальные (даже продвинутые) пользователи.
По этому и использую в своей реализации, фикс размер в виде костыля.
Покажите пожалуйста правильную вычитку wss: фрейма на MQL с учётом пула SocketIsReadable, все скажут только спасибо.
Сейчас нет времени, но надо бы мне сделать набор CSocketRaw, CSocketTLS, CSocketHTTP реализаций в стандартной библиотеке MQL5.
Будет часов 8 свободного времени, сделаю.