HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Jabber бот на php - проблема с сокетами
  #1  
Старый 27.03.2009, 14:21
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
С нами: 9116877

Репутация: 468


По умолчанию Jabber бот на php - проблема с сокетами

Всем привет!
Решил написать своего джаббер бота на пхп. Не нада кричать что есть готовые бибоиотеки с xmpp итд, я пишу с нуля. Проблема заключается втом, что функция socket_read читает только один пакет, их бывает приходит 2 или 3, приходится ее писать несколько раз, из-за этого (я так думаю, но не факт что это из-за функции) у меня сбивается порядок огбмена пакеами и соединение рвется что-ли... посылаю данные а ответа не вижу (еслиб я допустил ошибку в формировании данных, пришел бы пакет, говорящий об ошибке в синтаксисе) .. Помогите плз.


PHP код:
<?php 
$JABBER_SERVER 
"jabber.ru"
$PORT 5222
$socket socket_create(AF_INETSOCK_STREAMSOL_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); 

$data socket_read($socket5000);
echo 
'<b>Ответ от jabber - </b>'.htmlspecialchars($data)."<br><br>"

$data socket_read($socket5000); 

echo 
'<b>Ответ от jabber - </b>'.htmlspecialchars($data)."<br><br>";  

$data socket_read($socket5000); echo '<b>Ответ от jabber - </b>'.htmlspecialchars($data)."<br><br>";  

$t1 "<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5' />"

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

socket_write($socket$t1); $data socket_read($socket5000); 

echo 
'<b>Ответ от jabber - </b>'.htmlspecialchars($data)."<br><br>";    

//socket_close($socket); 

?>

Последний раз редактировалось Krist_ALL; 27.03.2009 в 17:00..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PSalm69 Избранное 273 13.02.2016 01:24
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.