شاید دقیقا متوجه منظورتون نشده باشم
اما میتونید از فرمت های استاندارد مثل Http استفاده کنید و قبل ارسال اون رو به string و رشته بایتی تبدیل کنید (https://gist.github.com/proofy/264e957ba0cc190ee8d3) ولی به نظرم حالا که میخواید از سوکت استفاده کنید میتونید فرمت ساده تری رو برای خودتون استفاده کنید.
مثلا داده هاتون کلا به صورت JSON باشه و هدر و بدنه تفاوتی نداشته باشن.
مثلا:
{ "Path":"/api/getData",
"Content":{
"id":1,
"name":"X Y",
"city":"Teh"
}
}
اونوقت کافیه با jsonparser دیکدش کنید و از اونور هم json انکد کنید. همچنین توجه کنید حتما "utf-8" هم تو متدهاتون تنظیم کنید تا موقع انکد و دیکد به مشکل بر نخورید.