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

作者: anti5566 (^^)   2015-01-20 14:40:41
開發平台(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之類的分隔,
不過試了好久都沒有頭緒,
請知道的大大可以告訴我,
謝謝
作者: azureblaze (AzureBlaze)   2015-01-20 14:52:00
先送這筆資料的大小過去
作者: Jockey66666 (往事已成追憶)   2015-01-20 16:10:00
定義一個data header裡面包含data length放在data前送過去
作者: tj386 (最愛歐陽三姊妹♥♥♥)   2015-01-20 16:56:00
先傳3過去
作者: anti5566 (^^)   2015-01-20 23:39:00
謝謝您們~我要問的問題感覺跟15667差不多~謝謝^^
作者: Killercat (殺人貓™)   2015-01-22 07:04:00
可以參考一下UDP的結構 甚至可以直接用UDP也成UDP結構就是固定8byte 裡面有來源 目標 長度 檢查馬在socket裡面沒有真正的eof 因為binary可能是任何一個ascii code,而256個ascii code裡面並沒有定義eof

Links booklink

Contact Us: admin [ a t ] ucptt.com