作者anti5566 (^^)
看板C_and_CPP
標題[問題] 想請問一個socket的問題~
時間Tue Jan 20 14:40:41 2015
開發平台(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