Обсуждение статьи "Моделирование рынка (Часть 11): Сокеты (V)"

 

Опубликована статья Моделирование рынка (Часть 11): Сокеты (V):

Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.

Теперь вспомните, что сервер мини-чата будет использовать порт 27015 и что эхо-сервер, который будет работать на Excel, также будет его использовать. Поэтому, теоретически, у нас здесь будет конфликт интересов. Можно подумать, что операционная система не позволит серверу вмешиваться или пытаться прослушивать один и тот же порт, используя один и тот же протокол. В данном случае мы используем протокол TCP. Но мы можем использовать TCP на одном сервере и UDP на другом. В этом случае не будет проблем с использованием одного и того же порта.

Однако, когда мы используем один и тот же порт, один и тот же протокол и на одном и том же хосте, всё становится немного сложнее.

Я хочу подчеркнуть этот момент, чтобы те, кто хочет стать продвинутым пользователем сокетов, поняли, что при работе с сокетами необходимо соблюдать определенные меры предосторожности. Я хочу, чтобы вы, прежде чем увидеть, как реализована связь между Excel и MetaTrader 5, поняли, что происходит, когда два разных сервера используют одни и те же ресурсы. В этом случае используется один и тот же протокол, один и тот же порт и один и тот же хост. Чтобы понять это, сначала нужно открывать сервер мини-чата и дать ему дождаться соединения.

Теперь открываем эхо-сервер в Excel и оставим его в ожидании соединения. То есть у нас получится нечто похожее на это:


Автор: Daniel Jose