Реализация клиент-сервера на C#

Владислав15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
22.10.2010

На сервере с выделенным IP создается очередь сообщений в виде структуры:

{

Int

DateTime

Double

Int

Int

Int

}

возможно лучше будет передавать битовый массив

Клиент коннектится к серверу и получает всю очередь сообщений

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

Операция асинхронная, т.е. во время приема очереди в нее могу добавляться сообщения.

Обеспечить работу клиента в оффлайн режиме.

Т.е. отслеживать отсоединение клиента от сервера и при повторном соединении принимать только новые сообщения.

Количество сообщений в очереди до 100 000 000

Среднее число добавлений сообщений в очередь 10-60 в секунду. В пике до 500. Максимульная задержка между передачей сообщения в очередь и принятием на клиенте 1 секунда (в режиме реал-тайм).

Сервер на С#. Клиент на C# и для FreeBsd.

Функции сервера

Start() – старт прослушки и создание очереди подключившихся клиентов

Stop() – остановка прослушки и создание очереди подключившихся клиентов

Send(p int, dt DateTime, p double, v int, v1 int, v2 int) – передача сообщения в очередь

Событие клиента (в случае отдельного приложения)

Receive(p int, dt DateTime, p double, v int, v1 int, v2 int) – принятие сообщения