отправка структур через сокеты - PullRequest
1 голос
/ 25 августа 2009

Я использую vb.net и хотел бы отправить некоторые структуры на tcp-сервер C ++.

Проблема в том, что отправляемые мной структуры могут содержать другие структуры.

Struct { длина мяты; байт действительно; customStruct customStuff; } FirstStruct;

Struct { длина мяты; название символа; } CustomStruct;

Допустим, я хочу отправить FirstStruct на сервер C ++. Как мне это сделать? Некоторые примеры кода будут отличными.

спасибо.

Ответы [ 2 ]

4 голосов
/ 25 августа 2009

Структуры не могут быть отправлены через сокеты, только байты. Вы должны решить, как преобразовать структуры в поток байтов в отправителе и обратно в эквивалентные структуры данных в получателе.

Предполагая, что обе стороны работают под управлением Windows *, вы можете использовать .NET двоичную сериализацию для обработки деталей. Я сомневаюсь, что поддерживает преобразование из структуры VB.NET непосредственно в структуру C, но он должен быть в состоянии построить разумное приближение на принимающей стороне.

* Mono, AFAIK, не поддерживает расширения .NET для C ++.

0 голосов
/ 25 августа 2009

Я бы сериализовал свои структуры vb во что-то вроде XML (или JSON) и проанализировал их на стороне сервера ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...