名前付きパイプを介してデータを送信しようとしています。C# で名前付きパイプ サーバーを作成し、MQL5 でクライアントを作成しました (これは単なる C++ ラッパーです)。サーバーは正常に動作し、C# で記述された名前付きパイプ クライアントからアクセスできるため、通信C# <-> C# は正常に動作します。また、ユーティリティ PipeList を試してみましたが、パイプ サーバーが表示され、利用可能であることも示されています。
唯一の問題は、MQL5 (C++) で記述されたクライアントにあります。パイプ サーバーへのパスが見つからないため、通信MQL <-> C# が失敗します。
誰でも提案できますか:
- 私は何を間違っていますか?
- C# と MQL の両方が同じ物理パスと同じ場所にアクセスしていることを確認する方法は?
サーバー:
NamedPipeServerStream pipeStream = new NamedPipeServerStream("MQL5", PipeDirection.In, 1, PipeTransmissionMode.Byte)
フルパス \\\\.\\pipe\\MQL5 も試しましたが成功しませんでした
クライアント :
CFilePipe iPipe;
while(IsStopped() == false)
{
Print("This loop is infinite because there is no connection");
if (iPipe.Open("\\\\.\\pipe\\MQL5", FILE_READ | FILE_WRITE | FILE_BIN) != INVALID_HANDLE) break;
Sleep(250);
}
ありがとう。