Ну в принципе можно использовать маркеры начала и конца передачи, если размер принимаемого пакета неизвестен, да и не факт, что первое принятое значение будет являтся значением длины пакета данных .. т.о. можно оч промахнутся
Вы скажите сначала для чего вы будете использовать сокеты (т.к. ничего не сказано о целях) - а по результатам ваших ответов уже мы может быть поможем с выбором протокола обмена