Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Запуск php скрипта в потоке или что то вроде? (http://forum.oszone.net/showthread.php?t=145924)

BASSON_XVI 23-07-2009 02:41 1175202

Запуск php скрипта в потоке или что то вроде?
 
Добрового всем!
Вообщем ситуация такая есть классы для работы с xmpp (jabber протокол).
Соответственно что бы быть в онлайне нужно в цикле получать/отправлять данные на/от сервера.
Написал оберточку для этих классов и прикрутил xajax.
Связывается обертка со скриптом где запущен цикл через mysql(в смысле в таблицы складываются присланные сообщение аяксом читаются и на дисплей выводятся и на оборот) и сессию.
Так вот встает вопрос как на сервере с помощью того же xajax запускать этот скрипт с циклом так что бы цикл не прекращался а вот обратно ответ приходил что мол все ок соединились?
То есть я могу отправив запрос на сервер получить ответ до завершения скрипта (тоесть что бы цикл работал и я был в онлайне в jabber`e)??
Ну или как это можно немножко по другому реализовать?
П.с. сижу над кодом уже часов 15, если что тупо написал извените задолбался так что пл часа искал как начать новую тему :).
Жду от вас ответов, за ранее спасибо!

Sham 23-07-2009 03:17 1175208

window.setInterval - можно делать периодический запрос к скрипту...

BASSON_XVI 23-07-2009 12:16 1175448

Не то... Прервешь цикл оборвется связь с сервером джаббера (поток вроде закроется) и все ты в офлайне и надо заново проходить авторизацию. :(

Sham 23-07-2009 17:01 1175725

роль xmpp-клиента у вас должен выполнять php-скрипт (он взаимодействует с jabber-сервером), а браузер взаимодействует только со скриптом/базой... те имхо браузер никак не должен влиять на серверного jabber-клиента, а только обмениваться инфой... причем это должны быть два разных функционала: один отвечает на запросы браузера, а другой выполняет роль jabber-клиента (и клиент должен слушать другой порт, с другими настройками виртуального серва и тд)...
т.е. имхо надо в консерватории что-то подправить...

BASSON_XVI 24-07-2009 20:15 1176884

:drug: Curl рулит!

Sham 24-07-2009 21:06 1176923

BASSON_XVI, рулят любые функции работы с сокетами...

BASSON_XVI 25-07-2009 03:11 1177153

Sham, Какой же ты умный... я вот только сейчас допер :)! Спасибо что помог!

Может это и не правильно но не хочу разводить тем.
У меня есть div в нем время от времени изменяется содержимое. Так вот как нибудь можно повешать функцию на событие изменения содержимого? И есть ли оно такое событие?

И еще один вопрос касающийся sql запросов.
Как мне одним sql запросом удалять все записи кроме последних 20 с учотом поля time в котором записано время в формате unix?

Sham 25-07-2009 04:53 1177169

Цитата:

Цитата BASSON_XVI
И есть ли оно такое событие? »

на div нельзя повесить onchange (у него нет такого события), надо смотреть функцию, которая меняет...
Цитата:

Цитата BASSON_XVI
Как мне одним sql запросом удалять все записи кроме последних 20 с учотом поля time в котором записано время в формате unix? »

одним вроде бы не получится (, только с предварительным подсчетом строк в таблице, или при вставке строк удалять столько же первых по времени... (LIMIT в DELETE не имеет возможностей как в SELECT)

BASSON_XVI 27-07-2009 05:43 1178609

Опять же не хочу плодить тем из за пустяков.
Суть проблемы в том что когда я пытаюсь получить v-card(информацию о клиенте с бинарными данными аватарки) из потока (который я читаю по 2048 байт) то бинарные данные читаюстся в циклце во временную переменую размером в 2048 байт дальше я пытаюсь добавить их в другую переменную
PHP код:

$xml.=$line

но добавляется в $xml только первые 2048 байт спервого прохода цикла а дальше как ни странно данные вида
Код:

nZeY9VXc9n05NZw6xFShvraxf
из переменной $line в $xml не добавляются. Вопрос что делать и почему так? :)


Время: 04:32.

Время: 04:32.
© OSzone.net 2001-