私はソフトウェアで独自の通信プロトコルスタックを実装し始めていますが、どこから起動するのかはわかりません。私がこれまでにやっていない仕事の一種であり、最高の/推奨されるアプローチのためのリソースの面で助けを求めています。C/C++の実装通信プロトコル
私はc/C++を使用していますが、使用ライブラリ(BSD/BOOST/Apache)は自由に使用できますが、GPLは使用できません。私はC++を広範囲に使用しているので、C++の機能を使用することは問題ではありません。
プロトコルスタックは3つのレイヤーを持ち、すでに完全に指定され正式に検証されています。だから私がする必要があるのは、実装され、指定された言語で完全にテストされることです。また、プロトコルは非常にシンプルですが、信頼性の高い物理トランスポート層を介して異なるデバイス上で実行できます。私は、イベント、入力、出力、副作用、およびプロトコルステートマシンの動作を知っています。一般に、物理層から受信したメッセージを読み取ってそれを読み取って待機装置に送るために割込みが受信される。受信デバイスは、プロトコル層への応答メッセージを処理し、物理層上に送出することができる。
参考/おすすめのヘルプをいただければ幸いです。私はそれらを実装する方法を理解するのを助けるためだけに異なる言語を使用したいと思いますが、最終的には選択した言語に頼らざるを得なくなります。
更新:実装したいプロトコル例はSNEPです。
私は接続管理について心配する必要はありません。我々は、接続が確立済みであり、Iは、プロトコルが行うことが非同期(または同期)になると、プロトコルメッセージは既によく仕様
この質問はあまりにも一般的です。その設計と実装を開始し、特定の問題についてのヘルプを依頼してください。 – peoro
それは面白い仕事です。実装を設計するときは、単体テストで各レイヤーの独立テストをテストすることに注意してください。より具体的なヘルプを得るには、どこから始めるのか(PIOに接続されたピンを使っていますか?)、入手したいヘルプの種類を指定してください。 – harper
私は@peoroに同意します。また、私はよく分からない - あなたはどこでこれを開発しているのですか?通常のプロトコル(イーサネット経由)では* OS *がネットワークスタックの下位レベルを処理します。プロトコル層と呼ばれるものを構築するOS APIを使用します。しかし、あなたがこれを構築しようとしている場所と、具体的に何が問題なのかを知らなければ、私は本当に助けることができません。 –