На одном и том же сервере работает Apache+PHP+MySQL и TCP-сервер с локальной сетью. Как их объединить?
Нужно сделать веб-интерфейс для той самой локальной сети. Веб-интерфейс будет "внешним", с закрытой регистрацией, но не суть.
Веб-интерфейс будет слать TCP-серверу запросы, а тот обрабатывать и что-то отправлять TCP-клиентам в локалке.
ОС - винда, а не UNIX/POSIX.
Рассматриваю следующие варианты:
1) Не изобретать ничего, а просто подключить PHP к TCP-серверу по тому же самому TCP. То есть Web-интерфейс будет клиентом TCP-сервера, соответственно общаться с ним в обе стороны. Этот вариант мне нравится полностью, но, может, это лишь на первый взгляд? Хорош ли он?
2) Типа распределенная память на диске. Например, в БД MySQL. Создать таблицу, web-интерфейс (php) пишет в нее, TCP-сервер читает, при необходимости и наоборот. Этот вариант мне не очень нравится по архитектуре, но MySQL кажется более "родной" средой для PHP, чем быть TCP-клиентом.
Если код TCP-сервера - закрытый, я бы сделал всё на PHP, а уже через него - управлял бы TCP-сервером. Иначе - полностью все на PHP.
У PHP есть все возможности, чтобы обеспечивать сетевое взаимодействие.
Также, на внешней стороне, если будет Apache, есть mod_proxy, который позволяет перенаправлять запросы на сокеты, подключенные как папка, например: /mysocket
Apache, затем - PHP и дальше, в зависимости от открытости Вашего TCP-сервера: или mod_proxy или все реализовать на PHP.
Travious: у PHP есть сокет, который нативный (который НЕ WebSocket!) и я бы делал на нём.
Про управление: через RESTfull API (команды по сокету к этому TCP-серверу).