JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Разработка и проектирование [Devel] » [XMPPHP] асинхронные сокеты
Post new topic  Reply to topic View previous topic :: View next topic 
[XMPPHP] асинхронные сокеты
PostPosted: Thu Jan 29, 2009 9:49 pm Reply with quote
nexor
Отметившийся
Отметившийся
Joined: 29 Jan 2009
Posts: 2




Здравствуйте, господа.

Никому не доводилось копаться в XMPPHP?

Проблема следующая. У меня есть jabber-бот, который висит в виде демона, и (теоретически) каждую секунду проверяет протокол на наличие пришедших сообщений, а некоторые действия выполняет по таймеру. К сожалению в xmpphp по умолчанию установлен блокирующий режим чтения из сокета и таймер становится бессмысленным.

Интересует, как можно перевести работу библиотеки в неблокирующий режим?

Пробовал менять в XMLStream.php

Code:

stream_set_blocking($this->socket, 1);


на

Code:

stream_set_blocking($this->socket, 0);


, но эффект тот же.
View user's profile Send private message
Done.
PostPosted: Sun Feb 01, 2009 10:40 pm Reply with quote
nexor
Отметившийся
Отметившийся
Joined: 29 Jan 2009
Posts: 2




Помогло вот такое решение:

XMLStream.php, line ~471, в цикле while
Code:

 $this->__process( 1000000 / 3 );


XMLStream.php, line 324
Code:

stream_set_blocking($this->socket, 0);


И когда делаем
Code:

$conn->processUntil(.., 1);

вторым параметром идет таймаут прослушки сокета, который надо поставить в целое значение, большее 0. (например 1)
View user's profile Send private message
[XMPPHP] асинхронные сокеты
JRuDevels Forum Index » Разработка и проектирование [Devel]
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 1 of 1  

  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin