[問題] 緩衝區(buffer)問題

看板C_and_CPP作者 (woo0422)時間10年前 (2016/02/01 16:26), 10年前編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
開發平台:Linux 語言:c c++ 額外函式庫:socket,opencv 問題: 想請問大家有關緩衝區的問題, 就是目前我用socket收資料, 但因傳送端我無法控制,他會一直傳 而我接受要處理資料, 但我遇到一個問題是, 我要還在處理時他就又傳進來 所以緩衝區好像就被蓋掉了 以我對程式的理解是,程式會從上到下執行 所以我在處理的時後,假設又有資料傳進來 緩衝區可能不會接受到? 或有接受但資料被改變? 另外想請問 我想把程式寫成一個主程式 開了之後會去叫另外兩個程式 然後兩個主程式都會動作 接受端放到緩衝的資料另一個主程式可以拿來用 請問我這種想法可以實現嗎? 是否有關鍵字可以查詢資料 不是本科系,以前學硬體 剛學程式兩個月, 完全不知道這問題該怎麽查資料.. 囧 也請大家能不能推薦關於平行處理 open cl 的資料 謝謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.13.17.214 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1454315206.A.78B.html ※ 編輯: woo0422 (39.13.17.214), 02/01/2016 16:27:41

02/01 17:08, , 1F
可以分程式(如fork),但分thread會比較好
02/01 17:08, 1F

02/01 22:11, , 2F
1.你的os會在資料傳來時先幫你存在它自己開的buffer裡,
02/01 22:11, 2F

02/01 22:11, , 3F
等你recv時資料被拿出。由於buffer空間有限,你recv太慢
02/01 22:11, 3F

02/01 22:11, , 4F
的話,前面收到的會被蓋掉。2.關鍵字multi thread
02/01 22:11, 4F

02/02 14:04, , 5F
謝謝樓上兩位的資訊,謝謝
02/02 14:04, 5F

02/03 23:17, , 6F
等等. IIRC, 從 physical layer 收到 packet 開始, 在往上
02/03 23:17, 6F

02/03 23:17, , 7F
跑的過程中, 經過的 queues and buffers, 沒有一個會在記憶
02/03 23:17, 7F

02/03 23:18, , 8F
體不夠的時候發生 "覆蓋". 都只是把往上跑的東西 drop 掉
02/03 23:18, 8F
文章代碼(AID): #1MhnR6UB (C_and_CPP)