Посоветуйте технологию COMET
Добрый день!
Решил создать новую тему, в продолжении старой - анализатор логов. С анализом справился, теперь надо доставлять этот лог на страницу. На входе имеем поток строк из лога. Получаю я его так
log_source|script.php
Самый очевидный способ - в script.php открывать серверный сокет, цеплять клиентов через вебсокеты, отправлять им строки как есть. Но я не хотел бы использовать сокеты так как данные должны ходить через http. Потому что к серверу будем подключаться удаленно и через туннелирование SSH вебсокеты просто так не ходят.
Второй очевидный способ - писать данные в named pipe:
log_source > named.pipe
А из пайпа уже подбирать чем угодно, хоть напрямую из скрипта по http. Минус тут один и жирный: кто первый пайп ухватил, тот получит данные, остальные ничего не получат.
Третий способ - чтение лога из файла. Сейчас его использую. Запоминаю последний размер и при следующем чтении возвращаю в браузер только то что добавлено было. Минус такой: программа должна слать лог в файл. Из-за некоторых особенностей ОС это не желательно.
Поэтому ищу альтернативные способы передачи. Я на этом сайте читал про COMET, но хотел бы узнать мнение опытных коллег какая технология лучше всего подойдет.
|