![]() |
|
||||||||||
|
|||||
|
2Vier
Большое спасибо за объяснение. Скачал BlazeDS, посмотреть как умные люди делают, немного погуглил как с его помощью читать объекты...в итоге все упирается в тото же код: ServerSocket servSoc = new ServerSocket(8888); Socket s = servSoc.accept(); Amf3Output amf3Output = new Amf3Output(SerializationContext.getSerializationContext()); amf3Output.setOutputStream(s.getOutputStream()); Amf3Input amf3Input = new Amf3Input(SerializationContext.getSerializationContext()); amf3Input.setInputStream(s.getInputStream()); Теперь получаю новую ошибку: flex.messaging.MessageException: Cannot create class of type 'DataMessage'. Type 'DataMessage' not found. При попытке прочитать объект: amf3Input.readObject(); Последний раз редактировалось C4Grey; 05.07.2011 в 20:28. |
|
|||||
|
C4Grey, да, довольно удобно.
Но не прижилось ![]() время показало, что обычный JSON удобнее ПС Помню день убил из-за бага в ФП с registerClassAlias при подгрузке модулей
__________________
Сам себе репортер |
|
|||||
|
Ну, теперь сервер все читает корректно...на досуге надо будет почитать исходники blazeDS, чтобы понять как они парсер написали, но пока более приземленные дела - отправка сообщений.
Увы, просто: не проходит, клиент выдает ошибку Error #2030: End of File detected. На одном форуме подсмотрел вариант с использованием ByteArrayOutputStream, реализовал у себя: objectOut = socket.getOutputStream(); byteBuffer= new ByteArrayOutputStream(); amf3Output.setOutputStream(byteBuffer); amf3Output.setOutputStream(objectOut); amf3Output.writeObject(OutputMessage); objectOut.write(byteBuffer.toByteArray()); objectOut.flush(); byteBuffer = new ByteArrayOutputStream(); amf3Output.setOutputStream(byteBuffer); amf3Output.writeObject(OutputMessage); objectOut.write(byteBuffer.toByteArray()); objectOut.flush(); ... если я что-то делаю неверно - поправте пожалуйста. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|