Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > Одновременная рассылка по нескольким сокетам |
Автор: Ddima 24.3.2006, 13:17 |
Такой вопрос: есть функция, которая посылает сообщение на определенный IP. мне нужно быстро разослать сообщения по нескольким подсетям.Если рассылать последовательно, то нужно уменьшать время stream_set_timeout(), но при его уменьшении клиентские компьютеры не успевают прислать ответ. можно ли одновременно рассылать несколькими сокетами, как это сделать? Или как по другому сократить время рассылки? function sendmessage($clientip,$message) { if(@$fp = fsockopen($clientip, $service_port, $errno, $errstr, 0.05)) { stream_set_timeout($fp, 0,100000); //Send message if(fwrite($fp, $message)) { $string=$string."<font color=green> Сообщение отправлено. </font>";} else { $string=$string."<font color=red> ПИСЕЦ</font>"; } //Reading response if($out = fread($fp, 4196)) { $out=trim($out); $string=$string."<font color=green> Доставка подтверждена. </font>"; $string=$string."<font color=green> Запуск: $out. </font>"; } else { $string=$string."<font color=red> Нет подтверждения о доставке сообщения. </font>";} fclose($fp); } else { $string=$string."<font color=red> Соединение с клиентом не установлено. </font>";} return($out); } |