Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как отправить сообщение по UDP-протоколу?
 
 автор: Woland   (17.11.2007 в 06:05)   письмо автору
 
 

Покажите, пожалуйста, пример того, как можно отправить сообщение по протоколу UDP, если это возможно

   
 
 автор: exp   (17.11.2007 в 06:41)   письмо автору
 
   для: Woland   (17.11.2007 в 06:05)
 

нашёл какой-то пример по сокетам, не проверял только http://articles.org.ru/cfaq/index.php?qid=1867&catid=14

а тут http://www.argc-argv.relc.com/12_2002/demons.php что-то на C++

   
 
 автор: cheops   (17.11.2007 в 12:54)   письмо автору
 
   для: Woland   (17.11.2007 в 06:05)
 

Примерно так (как сообщает мануал)
<?php
$fp 
fsockopen("udp://127.0.0.1"13$errno$errstr);
if (!
$fp) {
   echo 
"ERROR: $errno - $errstr<br />\n";
} else {
   
fwrite($fp"\n");
   echo 
fread($fp26);
   
fclose($fp);
}
?>

   
 
 автор: Woland   (17.11.2007 в 17:22)   письмо автору
 
   для: cheops   (17.11.2007 в 12:54)
 

Мануал читал, пример разбирал - но ничего не получилось... Пустой экран
Может, дело в ОС - у меня стоит Windows, а не *nix...
Может, есть какие-то еще примеры?

   
 
 автор: mihdan   (17.11.2007 в 20:20)   письмо автору
 
   для: Woland   (17.11.2007 в 17:22)
 

куда конектились то(ip) не к 127.0.0.1 ;)

   
 
 автор: Woland   (18.11.2007 в 06:57)   письмо автору
 
   для: mihdan   (17.11.2007 в 20:20)
 

К нему и коннектился

   
 
 автор: cheops   (18.11.2007 в 13:31)   письмо автору
 
   для: Woland   (17.11.2007 в 17:22)
 

127.0.0.1 - это ваш компьтер - на нём установлен сервер, который слушает 13 порт и ждёт сообщений по UDP? Какова исходная цель, чего хотите добиться?

   
 
 автор: Woland   (18.11.2007 в 14:37)   письмо автору
 
   для: cheops   (18.11.2007 в 13:31)
 

Объясняю ситуацию:
На сервере (на работе - не на моем компьютере) стоит сислог - он принимает сообщения по протоколу UDP через порт 514 (если честно, сам толком не представляю, что такое "порт"... в моем представлении это идентификатор сетевого сообщения, который используется определенной программой).
Моя конечная цель - отправить на сервер сообщение в формате сислога (RFC 3164) и просмотреть его через анализатор - приложение, которое я написал для сбора информации от сислога (а это все - тема дипломного проекта). Так как работаю с PHP, решил и с протоколом UDP поработать оттуда. Конечно, знаю немного Delphi, и с его помощью тоже пытаюсь разобраться. Естественно, дома есть только компьютер под Windows, где кроме лупбэка ничего нет.

   
 
 автор: cheops   (18.11.2007 в 15:15)   письмо автору
 
   для: Woland   (18.11.2007 в 14:37)
 

Вместо 127.0.0.1 испльзуйте IP-адрес удалённого сервера, вместо порта 13 используйте 514.

   
 
 автор: Woland   (18.11.2007 в 16:00)   письмо автору
 
   для: cheops   (18.11.2007 в 15:15)
 

Это, конечно, понятно. Но для того, чтобы пробовать, как это работает в реальной системе, нужно протестить на локальной машине. Можно ли поработать с портами именно на локальной машине?

   
 
 автор: ddhvvn   (18.11.2007 в 19:23)   письмо автору
 
   для: Woland   (18.11.2007 в 16:00)
 

А почему нет? Конечно можно...

   
 
 автор: Woland   (19.11.2007 в 03:47)   письмо автору
 
   для: ddhvvn   (18.11.2007 в 19:23)
 

Осталось узнать, как. Подскажите, пожалуйста

   
 
 автор: exp   (19.11.2007 в 05:59)   письмо автору
 
   для: Woland   (19.11.2007 в 03:47)
 

у меня пример который привёл cheops работает
, выводит время и дату .
(денвер апаче2.0 пхп5.2 winXP)

   
 
 автор: Woland   (19.11.2007 в 07:05)   письмо автору
 
   для: exp   (19.11.2007 в 05:59)
 

у меня заработало то, что я хотел сделать - с удаленным сервером. но пример с локалхостом не работает. Файрволл отключен, брандмауэр тоже. Пробовал на разных машинах... На всех XP.

   
 
 автор: cheops   (19.11.2007 в 12:21)   письмо автору
 
   для: Woland   (18.11.2007 в 16:00)
 

Обращайтесь к тем портам, на которых у вас что-то висит... например, если имеется локальный Web-сервер, обратитесь к 80 порту (13 порт на обычных машинах обычно ничем не занят и поэтому соединение обрывается).

   
 
 автор: Woland   (22.11.2007 в 05:28)   письмо автору
 
   для: cheops   (19.11.2007 в 12:21)
 

Спасибо, разобрался

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования