@Travious

На одном и том же сервере работает Apache+PHP+MySQL и TCP-сервер с локальной сетью. Как их объединить?

Нужно сделать веб-интерфейс для той самой локальной сети. Веб-интерфейс будет "внешним", с закрытой регистрацией, но не суть.
Веб-интерфейс будет слать TCP-серверу запросы, а тот обрабатывать и что-то отправлять TCP-клиентам в локалке.

ОС - винда, а не UNIX/POSIX.

Рассматриваю следующие варианты:

1) Не изобретать ничего, а просто подключить PHP к TCP-серверу по тому же самому TCP. То есть Web-интерфейс будет клиентом TCP-сервера, соответственно общаться с ним в обе стороны. Этот вариант мне нравится полностью, но, может, это лишь на первый взгляд? Хорош ли он?

2) Типа распределенная память на диске. Например, в БД MySQL. Создать таблицу, web-интерфейс (php) пишет в нее, TCP-сервер читает, при необходимости и наоборот. Этот вариант мне не очень нравится по архитектуре, но MySQL кажется более "родной" средой для PHP, чем быть TCP-клиентом.

Как бы сделали вы?
  • Вопрос задан
  • 327 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Если код TCP-сервера - закрытый, я бы сделал всё на PHP, а уже через него - управлял бы TCP-сервером. Иначе - полностью все на PHP.
У PHP есть все возможности, чтобы обеспечивать сетевое взаимодействие.
Также, на внешней стороне, если будет Apache, есть mod_proxy, который позволяет перенаправлять запросы на сокеты, подключенные как папка, например: /mysocket

Apache, затем - PHP и дальше, в зависимости от открытости Вашего TCP-сервера: или mod_proxy или все реализовать на PHP.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы