|
|
|
Запрос типа C++ struct
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вот есть некое приложение на С++ , принимающее данные через сокет. При отправке с приложения на С++ проблем не возникает, однако, как быть в случае Java? Допустим, приложение на C++ принимает запрос в виде struct, в ней dword, UCHAR, IN_ADDR и прочие типы, которых в Java просто нет. Подозреваю, что необходимо данные в Java приложении преобразовать в массив байт. В общем, прошу направить меня в нужную сторону ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 21:04:03 |
|
||
|
Запрос типа C++ struct
|
|||
|---|---|---|---|
|
#18+
Просто используйте кросс-платформенные протоколы сериализации. Hessian, Protobuf (JSON, SOAP на худой конец) Если сторону C++ нельзя исправить, то наверное через ByteBuffer, придется разруливать. Или поискать подходящий фреймверк для парсинга бинарных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2012, 10:11:08 |
|
||
|
Запрос типа C++ struct
|
|||
|---|---|---|---|
|
#18+
mr.Jack, Если Сишник и любишь на низком уровне, то отправляешь байты-буффер-поток и получаешь тоже их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2012, 10:15:29 |
|
||
|
Запрос типа C++ struct
|
|||
|---|---|---|---|
|
#18+
Сторону С++ исправить нельзя, верно. А можете дать пример или навести на пусть, к примеру, как перевести IN_ADDR, UCHAR и DWORD в байты? Нужен ли какой-нибудь заголовок для структуры? Например, IN_ADDR сама является структурой, содержащая в себе еще 2 структуры и поле u_long .. как быть в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2012, 23:31:38 |
|
||
|
Запрос типа C++ struct
|
|||
|---|---|---|---|
|
#18+
mr.Jack, если на нижнем уровне, то разворачиваешь все данные на элементарные типы (принцип сериализации). А типы в байты и ловить на той стороне. Там обратно собираешь. типа: http://www.delphisources.ru/forum/showthread.php?t=22068&page=2 http://spec-zone.ru/RU/Java//Docs/7/api/java/nio/class-use/ByteBuffer.html#java.nio.channels ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 01:00:45 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2130738]: |
0ms |
get settings: |
15ms |
get forum list: |
22ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
37ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
72ms |
get tp. blocked users: |
3ms |
| others: | 272ms |
| total: | 454ms |

| 0 / 0 |
