avenger_msoft
Новичок
Chat+Daemon
Привет всем!
windows 2003 + php 4.4.3 + Apache 2.2.
Есть чат (php+firebird). Есть Демон на Delphi (протокол http). Пусть адрес чата http://avenger:8080, а адрес демона http://avenger:8000.
Чат построен на фреймах. В одном из фреймов держится постоянное сокетное соединение с демоном, обмен данными в направлении Client<-Daemon.
Как можно уйти от порта 8000?
У меня есть две идеи:
1) Создать виртуальную ссылку типа http://avenger:8080/daemon
2) Создать файл php, например http://avenger:8080/get_socket_data.php
В 1-м случае с помощью mod_proxy создать "туннель" на http://avenger:8000. Т.е.
Client<->mod_proxy<->Daemon
Во 2-м случае программу, у которой будет "бесконечный" срок выполнения; которая будет забирать данные от Демона и отсылать их клиенту. Client<->get_socket_data<->Daemon.
get_socket_data.php
Недостатки:
В 1-м случае: Невозможность отследить отсоединение клиента на Демоне, в силу организации mod_proxy; невозможность получить данные на клиенте, пока не будут отправлены все данные Демоном.
Во 2-м случае: Для каждого клиента будет "работать" свой get_socket_data.php; дополнительные затраты ресурсов сервера.
Может есть другие предложения?
Не ужели ни у кого нет ни каких мыслей?
-~{}~ 23.08.06 18:47:
Не ужели ни кто не думал как можно уйти от определенного порта?
К примеру, на сайт http://tc.edu-soft.ru:8080 можно зайти не совсех машин... (так как порт 8080 закрыт firewall-ом)...
Привет всем!
windows 2003 + php 4.4.3 + Apache 2.2.
Есть чат (php+firebird). Есть Демон на Delphi (протокол http). Пусть адрес чата http://avenger:8080, а адрес демона http://avenger:8000.
Чат построен на фреймах. В одном из фреймов держится постоянное сокетное соединение с демоном, обмен данными в направлении Client<-Daemon.
Как можно уйти от порта 8000?
У меня есть две идеи:
1) Создать виртуальную ссылку типа http://avenger:8080/daemon
2) Создать файл php, например http://avenger:8080/get_socket_data.php
В 1-м случае с помощью mod_proxy создать "туннель" на http://avenger:8000. Т.е.
Client<->mod_proxy<->Daemon
Во 2-м случае программу, у которой будет "бесконечный" срок выполнения; которая будет забирать данные от Демона и отсылать их клиенту. Client<->get_socket_data<->Daemon.
get_socket_data.php
PHP:
while true do {
...
Забираем данные от Демона
...
Отправляем клиенту
...
}
В 1-м случае: Невозможность отследить отсоединение клиента на Демоне, в силу организации mod_proxy; невозможность получить данные на клиенте, пока не будут отправлены все данные Демоном.
Во 2-м случае: Для каждого клиента будет "работать" свой get_socket_data.php; дополнительные затраты ресурсов сервера.
Может есть другие предложения?
Не ужели ни у кого нет ни каких мыслей?
-~{}~ 23.08.06 18:47:
Не ужели ни кто не думал как можно уйти от определенного порта?
К примеру, на сайт http://tc.edu-soft.ru:8080 можно зайти не совсех машин... (так как порт 8080 закрыт firewall-ом)...