я повторю вопрос: ты теоретизируешь? фреймы могут разбивать сообщение, да. это низкий уровень. то есть, ты говоришь "послать сообщение", а оно "подожди, ещё буфер не накопился для передачи"?
в том-то и дело что "отослать мессадж" и "отослать фрейм" = разные понятия. Когда ты говоришь отослать мессадж, то уже никаких "продожди, буффер не накопился для передачи...". А вот когда говоришь, "готов фрейм", то там, в буфере, вполне возможно уже что-то есть, а может и нет, а может и есть, но мало, и т.п. Только когда ты шлёшь последний фрейм, тогда тебе точно весь буффер отдают (flush).