PDA

Просмотр полной версии : XMLSocket::send() как узнать длину пакета?


progman
06.06.2007, 17:36
в "нормальном" клиент-серверном приложении гоняются бинарные данные и обычно первые два байта пакета содержат длину всего пакета.
сервер получает пакет от клиента не зная его истинной длины, читает из сокета два байта и затем считывает из сокета весь пакет.

как в случае XMLSocket серверу определить длину полученных данных?
ведь XMLSocket шлет строку целиком и не позволяет передавать бинарные данные. (((

etc
06.06.2007, 18:13
Если не ошибаюсь, то в конце строки стоит нулевой байт. Т.е. читать сокет, пока не встретится нулевой байт.

progman
06.06.2007, 18:18
Если не ошибаюсь, то в конце строки стоит нулевой байт. Т.е. читать сокет, пока не встретится нулевой байт.
ммм, это да.
только я хотел серверную часть сделать единой для приема бинарных и строковых пакетов.

etc
06.06.2007, 18:26
Увы и ах, либо пользуем сокет из AS3, либо пишем разные серверные части.