githubのページにあるReleaseフォルダをお忘れですか?)
WebSocketは、通常の高速で正しい実装であっても、かなり気まぐれなものです。MQLで作るのは禁忌だ。
端末の開発者から提供されるか、外部のDLLによって提供されるべきである。
外部の公開サーバー、特にTLSでテストしましたか?例を見せていただけるとうれしいです。
PS.私はあなたのテストがwss://echo.websocket.orgで動作しないので尋ねているのです(ちなみにログを添付します - なぜそんなに無駄な情報を書くのですか?)純粋なws(ポート80)は大丈夫です。過去にMQL5でWebSocketの実装を実行しようとしたこともあったが、MQLのソケットにはTLSレイヤーの複雑な問題があるため失敗した。それらはまだ解決されていないようだ。というのも、MQLのソケットにはTLSレイヤーの複雑な問題があるからだ。
WebSocketは、通常の高速で正しい実装であっても、かなり気まぐれなものだ。MQLではそうすべきではない。
端末の開発者から提供されるか、外部のDLLによって提供されるべきです。
くだらない。
MQLについてナンセンスなことはまったくない。TLSには問題があったし(それについてはフォーラムに書いたが、解決策は待っていなかった)、今もある。記事の例はうまくいきません。オリジナルの英語記事にログを添付しました。

- 2020.11.25
- www.mql5.com
くだらない。
そこには古いwssの問題がある:標準関数のSocketIsReadable()
それはバイパスするための初歩的なものですが、この関数はありません。
uint len = 1024; /SocketIsReadable(ソケット);
そこには古いwssの問題がある:標準関数SocketIsReadable()
回避策は初歩的なものだが、すでにこの関数がない。
何か正当な理由があるのでしょうか?マジックナンバーとは何なのでしょうか?また、例えば長さ256や1500のメッセージでは問題ないのでしょうか?
そこには古いwssの問題がある:標準関数SocketIsReadable()
回避策は簡単だが、すでにこの関数なし
あなたは、単にこの関数を理解し、使用する方法を知らない。
この関数は入力バッファの使用可能なバイト数を即座に返すだけで、ソケットが生きているかどうかは教えてくれない。この関数は非常に重要であり、同期待ち状態にならず、プログラムの制御を失うことなくデータを部分的に読み出すことができる。
また、TLS関数も正しい。TLS関数は、どのように、どのような順序で使うかを知っている訓練されたユーザーのために 用意されている。呼んで終わり」という人のためのものではないのだ。
それだけでなく、ソケットとTLSの関数は、ターミナルがraw/tls/https接続で使っているものと同じものだ。つまり、すべて問題なく動作する。これらの同じ実装は、私たちの高負荷ソリューションでも動作します。
生のネットワーク関数は初心者向けではないし、素朴な使い方でもない。ネットワークの相互作用の原理と特殊性を十分に理解する必要があります。また、TLSについて話しているのであれば、ハンドシェーク・プロセスの処理方法とシーケンスについてだ。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事「MetaTrader5のWebSocket」はパブリッシュされました:
MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。
以下は、サーバーに接続しているときに実行されているプログラムのビデオです。
作者: Francis Dube