Мне нужно собрать библиотеку сервер + клиент для запроса данных из моей базы данных TimeSeriesDb , и для .NET доступно много различных библиотек сокетов и веб-сокетов, плюс я мог бы реализовать свою собственную реализацию. Следовательно - может действительно использовать совет о том, как действовать.
Я нашел SuperSocket и WebSocket4net на его основе, XSockets и SignalR . Существует также реализация Microsoft WebSocket , которая поставляется с .NET 4.5, которая может сделать других устаревшими.
Тем не менее, WebSockets оптимизированы для веб-обновлений и обновлений в реальном времени, а не для ответов на двоичные запросы, которые мне нужны, поскольку клиент также является .NET lib, которого нет в браузере.
подробности:
И запрос, и ответ в БД в двоичном виде:
Клиент: Получить данные для заданных параметров (блок двоичных данных)
Сервер: Начинает отправку потока данных (в виде двоичных блоков), где клиент может остановить передачу в любой момент.
Я нацеливаюсь на .NET 4, поэтому задачи TPL могут получить преимущества от асинхронных возможностей.
Приятно иметь: потоковое мультиплексирование, когда более одного запроса / ответа могут проходить через одно соединение (по одному блоку для каждого ответа по очереди). Я не уверен, если это необходимо, или если несколько соединений будут работать лучше.