ソフトウェアに独自の通信プロトコル スタックを実装しようとしていますが、どこから始めればよいかわかりません。これは私がこれまでに行ったことのない種類の作業であり、最良の/推奨されるアプローチについてリソースの面で助けを求めています.
私は c/c++ を使用し、ライブラリ (BSD/BOOST/Apache) を自由に使用できますが、GPL は使用しません。私は C++ を広範囲に使用してきたので、C++ の機能を使用することは問題ではありません。
プロトコル スタックには 3 つのレイヤーがあり、すでに完全に仕様が規定され、正式に検証されています。したがって、私がする必要があるのは、指定された言語で実装して完全にテストすることだけです。また、プロトコルは非常に単純ですが、信頼できる物理トランスポート層を介してさまざまなデバイスで実行できることにも言及する必要があります。イベント、入力、出力、副作用、およびプロトコル ステート マシンの動作を理解しています。通常、物理層から受信したメッセージを読み取るために割り込みを受け取り、それを読み取って待ち受けデバイスに送信します。受信デバイスは、応答メッセージを処理してプロトコル層に渡し、物理層に送信できます。
参照/推奨事項の助けをいただければ幸いです。それらを実装する方法を理解するのに役立つだけであれば、別の言語を使用しても構わないと思っていますが、最終的には選択した言語に頼る必要があります。
更新:実装したいプロトコルの例はSNEPのようなものです。
接続管理について心配する必要はありません。接続はすでに確立されており、プロトコルが行うのは、仕様でプロトコル メッセージがすでに明確に定義されているデータ交換であると想定できます。