Показать сообщение отдельно

  #9  
Старый 27.03.2009, 19:43
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
С нами: 9116877

Репутация: 468


По умолчанию

Gifts, сделал я как ты написал, но чет скрипт зависв браузере - полаеися бесконечный цикл же вайл

PHP код:
<?php 
$JABBER_SERVER 
= "jabber.ru"; 
$PORT = 5222;  

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 

if(!
$socket) { echo 'soket open - NO'; exit; } else { echo 'socket open - OK<br>'; }  

$connect = socket_connect($socket, $JABBER_SERVER, $PORT); 

if(!
$connect) { echo 'soket connect - NO'; exit; } else { echo 'socket connect - OK<br>'; }   

$t = "<stream:stream to='jabber.ru' xmlns='jabber:client' "; 
$t .= "xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ru' version='1.0'/> ";  

echo 
'<b>Клиент - </b>'.htmlspecialchars($t).'<br><br>'; 

socket_write($socket, $t);   



while (
1)  {      


$read=array($socket);      
$count=socket_select($read,$write=null,$exception=  null,15);      
// Если ничего не пришло пропускаем      
// Или если нужно что то послать по собственному желанию - отправляем      

if ($count<1) continue;             
foreach (
$read as $one)     
{        
$input=socket_read($one,4096);          
echo 
"htmlspecialchars($input)";         
// Тут обработка принятого пакета          
// например если пришел пакет  stream features ответить пакетом начала SASL авторизации          //

echo '<b>Ответ от jabber - </b>'.htmlspecialchars($input)."<br><br>";       
}  
}
?>
НА счет типа авторизации - эт канешно сложно, но я выдерну какнить из класса готового.. ПРосто я хочу нааписать своего бота а не готового юзать.
 
Ответить с цитированием