Как работают каналы данных фондового рынка? - PullRequest
6 голосов
/ 18 декабря 2010

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

Волшебно ли сервер передает данные клиенту или клиент должен постоянно запрашивать обновления на сервере?И по какому протоколу это обычно работает?(http, сокет и т. д.?)

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

В серверных финансовых приложениях, используемых брокерами / банками и т. Д. Рыночные данные (котировки, сделки и т. Д.) Передаются по TCP через некоторый протокол уровня приложения, который, скорее всего, не будет HTTP. Конечно, нет опроса. Клиент устанавливает TCP-соединение с сервером, сервер передает данные клиенту. Одним из распространенных подходов к распространению рыночных данных является FIX . У Thomson-Reuters есть множество загадочных проприетарных протоколов, начиная с дней мэйнфреймов, для распространения таких данных.

HTTP может использоваться для SOAP / RESTful для передачи / запроса данных небольшого объема, таких как деловые новости.

ОБНОВЛЕНИЕ На самом деле, даже FIX недостаточно в некоторых случаях, поскольку он имеет большие издержки из-за своего "текстового" характера. Большинство брокеров и бирж передают потоки большого объема, такие как кавычки, используя протоколы двоичного формата (FAST или некоторые проприетарные).

1 голос
/ 18 декабря 2010

В простом случае:

  1. Создание сервера с прослушивающим сокетом.
  2. На клиенте подключитесь к сокету сервера.
  3. Пусть клиент сделает while(data = recv(socket)) (псевдокод)
  4. Когда серверу есть что рассказать клиенту, он просто send(...) в сокете.

Вы можете даже реализовать этот шаблон через HTTP (нет реального верхнего предела времени для сокета HTTP). Сервер не должен даже читать из сокета - он может пытаться записать только в пожарный шланг.

Обычно используется сокет TCP - сообщения поступают по порядку и делают все возможное. Если задержка более важна и ее не выбрасывают или не работают, можно использовать UDP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...