看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
azureblaze: 先送這筆資料的大小過去 01/20 14:52
Jockey66666: 定義一個data header裡面包含data length 01/20 16:10
Jockey66666: 放在data前送過去 01/20 16:11
tj386: 先傳3過去 01/20 16:56
anti5566: 謝謝您們~我要問的問題感覺跟15667差不多~謝謝^^ 01/20 23:39
Killercat: 可以參考一下UDP的結構 甚至可以直接用UDP也成 01/22 07:04
Killercat: UDP結構就是固定8byte 裡面有來源 目標 長度 檢查馬 01/22 07:04
Killercat: 在socket裡面沒有真正的eof 因為binary可能是任何一個 01/22 07:05
Killercat: ascii code,而256個ascii code裡面並沒有定義eof 01/22 07:05