VB .net получить параметры подключения клиента сокета на стороне сервера - PullRequest
0 голосов
/ 13 сентября 2011

Я хочу, чтобы и клиент, и сервер писали и читали соотв. с постоянной скоростью (которую можно настроить в графическом интерфейсе клиента) в буфер.

Say,

  1. Я могу отправить от клиента по 150 байт на пакет
  2. Теперь я должен иметь возможность читать также со скоростью 150 байт на пакет на сервере

Поскольку оба подключены через сокет, можем ли мы получить параметры сокета (установленные для размера клиента, например, 150 здесь) со стороны сервера, используя объект tcpServer .

Или это необходимо для отправки начального установочного пакета, который сообщает об этих клиентских параметрах, и, соответственно, сервер может продолжить работу?

1 Ответ

1 голос
/ 13 сентября 2011

Обычно сортировка размеров сообщений происходит на уровне приложения. Вы действительно можете отправить «установочное сообщение» в качестве первых данных после успешного подключения. Вам следует отправить это установочное сообщение в форме, которая не будет неправильно понята из-за порядкового номера или количества байтов, полученных за один вызов чтения. Возможно, сообщение фиксированного размера в ASCII, может быть пять байтов:

00150 '

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

В качестве альтернативы вы можете использовать простой протокол, который встраивает размер в каждое сообщение, например:

SOH "0" "0" "1" "5" "0" [150 байт данных] СРВ

Rgds, Martin

...