Попробую описать проблему.
На сервере запускаем демона (создаем сокет, запускаем прослушивание, и т.д.). Теперь, чтобы получить обратный канал связи подключаемся к демону например так
<iframe src="демон:порт" ></iframe>
Демон принимает соединение, читает пришедшие заголовки отпровляем ответные заголовки и дальше можно писать, что хочеш. По мере записи в новый сокет информация будет выводится в фрейме, только в скрипте демона надо отключить буферизацию вывода.
Но вот проблема - этот фрйем можро использовать только для отображения какой либо информации, получить доступ на JavaScript к этому фрейму невозможно (пишет "отказанно в доступе"). Можно запустить JavaScript внутри этого фрейма, но только если он не обращается к переменным главного документа.
Пробовал я другой вариант, подключится к демону через тег скрипта:
<SCRIPT src="демон:порт"></SCRIPT>
тогда можно было бы записывать в сокет прямо команды на JavaScript например
PHP:
$msg="button1.disabled=false ";
socket_write($tmpsock, $msg, strlen($msg)):
[PHP]
или
[PHP]
$msg="info.value="ваш ход, Сер";
socket_write($tmpsock, $msg, strlen($msg)):
[PHP]
и т.д. красота!
но тело скрипта начинает выполнятся только после того как закончится его загрузка, тоесть демон должен разорвать связь и все записанные команды вополняются сразу.
Пробовал в качестве контейнера для подключения использовать <EMBED src="демон:порт"> в докоментации написанно внедряет на страницу документы любого типа думал можно написать
<EMBED src="демон:порт" type="text/plain"> и потом JavaScript
считавыть эти текстовые команды и eval(...) ???
тоже ничего - конект сбрасывается сразу после подключения.
C <object> тоже пока ничего не получается.
В общем надо найти какойто контейнер для канала связи, чтобы в него можно было засунуть обычный текст (любой) и ГЛАВНОЕ чтобы по мере поступления данных их можно было считывать JavaScript. (элемент с частичной загрузкой)
Про рефреш пожалуста не пишите, этот путь уже известен.
Просьба к модераторам перенести эту тему в раздел для "PHP для продвинутых " если можно :-)