Прежде всего, я новичок в сети, поэтому я могу сказать глупость здесь.
Рассматривая клиент-серверное приложение, использующее сокеты (.net с c #, если это имеет значение).
- Клиент отправляет некоторые данные,
сервер обрабатывает его и отправляет обратно
строка.
- Клиент отправляет некоторые другие данные,
Служба обрабатывает его, запрашивает БД
и отправляет обратно несколько сотен
элементы из базы данных
- Клиент отправляет другой тип
данные и сервер уведомляет некоторые
другие клиенты
.
У меня вопрос, как правильно установить размер буфера для операции чтения / записи.
Должен ли я сделать что-то вроде этого: byte[] buff = new byte[client.ReceiveBufferSize]
?
I am thinking of something like this:
Client sends data to the server(and the server will follow the same pattern)
byte[] bytesToSend=new byte[2048] //2048 to be standard for any command send by the client
bytes 0..1 ->command type
bytes 1..2047 ->command parameters
byte[] bytesToReceive=new byte[8]/byte[64]/byte[8192] //switch(command type)
Но ... что происходит, когда клиент получает уведомление от сервера без отправки данных?
Как правильно сделать то, что я пытаюсь сделать?
Спасибо за чтение.