![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Вопрос не в том что принять, а в том как прочитать.
На низком уровне сокет представлен как файл(очень грубое сравнение, но понять поможет). Сервер в этот файл постоянно пишет. Клиент постоянно читает. Флеш устроен таким образом что "непрерывное чтение" оставляет на совести виртуальной машины. И выдает данные порционно в прогресс-ивенте. Но суть от этого не меняется - это файл в который мы пишем, и из которого читаем. Хочу заметить: это ОДИН ФАЙЛ. А не по файлу на каждое сообщение. И на совести разработчика - как он порежет этот файл на части. По-умолчанию "\x00" - в качестве разделителя сообщений считается. Но не везде конает, так как не все серверные платформы по-умолчанию этот байт в конец дописывают и тогда надо резать месаджи самим руками. Короче. 1. Получили прогресс-ивент с сокета. Это значит в нашем файле сокета появились новые данные и мы начали их читать. 2. Начали читать из сокета и писать в буфер. 3. Каким-то образом поняли что получили полный месадж. 4. Когда поняли что к нам пришло(обычно мы заранее знаем что к нам придет) - распарсили как-то, известным методом. Понятно что картинку и текст парсить по-разному надо.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
![]() |
Часовой пояс GMT +4, время: 05:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| socket server |
|
|