Отправка команд с клиента на сервер в C # с использованием tcp / ip - PullRequest
1 голос
/ 20 апреля 2011

Все примеры, которые я нашел, отправляют только текстовые / строковые данные по сети.Я выясняю, как отправлять различные типы объектов (ArrayLists и т. Д.).Я сейчас пытаюсь выяснить, как обрабатывать команды, отправленные с клиента на сервер.От клиента мне нужно: добавить ä «Студент» в базе данных, удалить студента в базе данных, получить всех студентов в базе данных и т. Д.

так что, если я создаю протокол на стороне клиента с методом »processCommand "иногда у меня различное количество параметров, в зависимости от запроса от клиента (при добавлении студента я должен отправить объект студента), (при получении данных из базы данных мне не нужно отправлять какие-либо параметры);Также я должен вернуть другой тип объектов.Как я могу это сделать ?Большое спасибо.

1 Ответ

3 голосов
/ 20 апреля 2011

По предложению @marc_s. Нет причин изобретать велосипед. Используйте WCF с tcpBinding.

Если вам нужно сделать это самостоятельно, вам нужно использовать какую-то сериализацию. Вам также необходимо прикрепить заголовок, так как TCP основан на потоке и не гарантирует, что все поступит в одном и том же Receive.

Я бы сделал это так:

  1. Сериализует ваш объект в байтовый буфер, используя BinaryFormatter.
  2. Отправка заголовка, содержащего версию (int) и количество байтов в байтовом буфере (int)
  3. Отправка байтового буфера.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...