[問題] 想請問一個socket的問題~

看板C_and_CPP (C/C++)作者 (^^)時間11年前 (2015/01/20 14:40), 編輯推噓0(009)
留言9則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) c++ 問題(Question): 新手最近接觸socket, 一直有個疑問, 在沒有關閉descriptor的情況下, 要如何分離連續寫入多筆資料, 假如有 server A, client B A對B寫入三筆資料 current_event.data.fd是 client fd, write(current_event.data.fd, buffer1, size1); write(current_event.data.fd, buffer2, size2); write(current_event.data.fd, buffer3, size3); 而B 接收時要能得知我這是3筆資料, 而不是一筆, 感覺應該是要在之間插入EOF之類的分隔, 不過試了好久都沒有頭緒, 請知道的大大可以告訴我, 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.65.124 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1421736044.A.D97.html

01/20 14:52, , 1F
先送這筆資料的大小過去
01/20 14:52, 1F

01/20 16:10, , 2F
定義一個data header裡面包含data length
01/20 16:10, 2F

01/20 16:11, , 3F
放在data前送過去
01/20 16:11, 3F

01/20 16:56, , 4F
先傳3過去
01/20 16:56, 4F

01/20 23:39, , 5F
謝謝您們~我要問的問題感覺跟15667差不多~謝謝^^
01/20 23:39, 5F

01/22 07:04, , 6F
可以參考一下UDP的結構 甚至可以直接用UDP也成
01/22 07:04, 6F

01/22 07:04, , 7F
UDP結構就是固定8byte 裡面有來源 目標 長度 檢查馬
01/22 07:04, 7F

01/22 07:05, , 8F
在socket裡面沒有真正的eof 因為binary可能是任何一個
01/22 07:05, 8F

01/22 07:05, , 9F
ascii code,而256個ascii code裡面並沒有定義eof
01/22 07:05, 9F
文章代碼(AID): #1KlVXisN (C_and_CPP)
文章代碼(AID): #1KlVXisN (C_and_CPP)