看板 C_and_CPP 關於我們 聯絡資訊
開發平台: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
Caesar08: 可以分程式(如fork),但分thread會比較好 02/01 17:08
overhead: 1.你的os會在資料傳來時先幫你存在它自己開的buffer裡, 02/01 22:11
overhead: 等你recv時資料被拿出。由於buffer空間有限,你recv太慢 02/01 22:11
overhead: 的話,前面收到的會被蓋掉。2.關鍵字multi thread 02/01 22:11
woo0422: 謝謝樓上兩位的資訊,謝謝 02/02 14:04
fr3ak: 等等. IIRC, 從 physical layer 收到 packet 開始, 在往上 02/03 23:17
fr3ak: 跑的過程中, 經過的 queues and buffers, 沒有一個會在記憶 02/03 23:17
fr3ak: 體不夠的時候發生 "覆蓋". 都只是把往上跑的東西 drop 掉 02/03 23:18