シリアルポートを介してzmodemを使用してリモートサーバーからテキストファイルを取得するために、WindowsプラットフォームでC++プログラムを作成するように割り当てられています。この男とほとんど同じですが、窓にあります。
ここが行き詰まっています。シリアルケーブルを使用してサーバーと通信できますが、サーバーがファイルを送信するときにzmodemプロトコルを使用するため、サーバーからrz \r**。B00000000\rが送信されることがわかります。
そのため、zmodemプロトコルの仕様を読みましたが、ファイルの受信を開始する方法がわかりません。仕様に記載されているヘッダーファイルに従ってZRINITを送信します。ただし、ファイル転送は開始されません。
私の質問はこれです。ファイルを送信する要求が私に与えられ、パケットの受信を開始することを期待しているときに、単純にバイトを送信できますか?おそらく間違ったコードを送信していますか?その場合、コーディング方法の例があります。自分でプロトコルを作成して、これを自動的に実行するライブラリを見つけようとしないでください。もしそうなら、それはウィンドウズのために存在しますか?または、コマンドラインから入力を受け取る通信プログラムを探す必要がありますか?
どうすればいいのか、アドバイスが必要です。
sexyzについて読みましたが、ダウンロードページが見つかりません。
どんな入力でも大歓迎です。
アップデート
私はプロトコルについてもう少し理解しました。仕様では、セクション8と12で、送信者と受信者の間のトランザクションがどのように機能するかについて言及しています。それから、ZRQINIT、ZRINIT、ZFILEなどのいくつかのヘッダーのコードを解読することができました...
char ZRINIT[]={42, 42, 24, 66, 48, 49, 48, 48, 48, 48, 48, 48, 50, 51, 98, 101, 53, 48, 13, -118, 17,0}
私はまだ多く、すなわちZRP0S、ZRFINが欠けています。誰かがこれらの文字列が定義されている場所へのリンクを見つけることができれば、それは私を大いに助けてくれるでしょう。