我擁有的問題在某種程度上非常具體。通過滑動窗口協議進行數據轉換,C
我必須通過鏈接在C中實現滑動窗口協議。我的sender.c文件接收參數的速度,延遲和丟失或損壞的文件的百分比。數據通過鏈接發送。由於這是一個學校任務,我不知道鏈接的實現細節,但是,發送者和接收者需要初始化一個端口和一個IP鏈接,我猜他們正在使用套接字。無論如何,我正在嘗試向接收者發送連接參數,以便將它們用於超時和控制流。我創建數據幀有效載荷發送表示使用的速度和延遲的2個整數:
int s = (int)(*speed - '0'); int d = (int)(*delay - '0'); sprintf(t.payload,"%d%d",s,d);
當我打印發件人的s和d變量文件的結果是1,1-這是正確的。之後我將結果Payloar發送給接收器,其中payload [0]被分配給另一個稱爲速度的int變量,並且payload [1]被分配給另一個稱爲delay的int。問題是在這裏他們有價值49而不是他們應該的。我嘗試過使用atoi()函數,但是當我這樣做時,延遲被成功轉換爲1,而速度轉換爲11,這是沒有意義的。我嘗試了很多不同的方式來使它工作,發送它們作爲字符,並在接收端轉換它們也沒有幫助。
任何想法?
PS:對於巨大的文章和我的英文錯誤感到抱歉!
你能告訴我們代碼,你到目前爲止嘗試過了什麼(儘可能剝離,但儘可能多地理解數據類型和控制流)? – 2012-03-22 11:51:14