問題は何とか非常に特殊です。スライディングウインドウプロトコルによるデータ変換、C
リンク上でCでスライディングウィンドウプロトコルを実装する必要があります。私のsender.cファイルは、速度、遅延、紛失または破損したファイルのパーセンテージをパラメータとして受け取ります。データはリンクを介して送信されます。これは学校の割り当てなので、リンクの実装の詳細はわかりませんが、送信者と受信者はポートとipとのリンクを確立する必要があります。ソケットを使用していると思います。とにかく、私はタイムアウトと制御フローのためにそれらを使用するためにコネクションパラメータを受信者に送信しようとしています。私が使用して速度と遅延を表す2つのint値を送信するデータフレームのペイロードを作成する:
int s = (int)(*speed - '0'); int d = (int)(*delay - '0'); sprintf(t.payload,"%d%d",s,d);
Iが送信者ファイルでsおよびd変数を印刷するとき、結果が正確である1,1です。その後私は結果のペイロードをレシーバに送ります。ここで、payload [0]はspeedと呼ばれる別のint変数に割り当てられ、payload [1]はdelayという別のintに割り当てられます。ここで問題となるのは、ここでは値49でなくてはならないということです。私はatoi()functioを使ってみましたが、私がすると遅れは1に変換されますが、速度は11に変換されますが意味がありません。私はそれを動作させるために多くの異なる方法を試しました、それらを文字として送信し、受信側でそれらを変換することも役に立たなかった。
アイデア?
PS:巨大な投稿と私の英語の間違いは申し訳ありません!
これまでに試したことがあるコード(可能な場合は削除されましたが、データ型や制御フローを理解するために必要なもの)を表示できますか? –