Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: phpdaemon

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: сокет сервер
h0rn3t
Отправлено: 16 Января, 2012 - 10:32:38
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Подскажите пожалуйста как запустить сокет сервер с помощью phpdaemon.
 
 Top
DeepVarvar Супермодератор
Отправлено: 16 Января, 2012 - 12:01:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Чо??? Не понял
Вот тут есть старьё моё http://forum.php.su/topic.php?fo...30&topic=827
Хотя думаю это не то что нужно.
 
 Top
caballero
Отправлено: 16 Января, 2012 - 12:15:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Это все равно что спросить - как запустить сайт на PHP.
Установить нужное ПО в соответствии с инструкцией по установке и запустить


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
h0rn3t
Отправлено: 16 Января, 2012 - 13:48:49
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




В мануалах встречал запуск только веб-сокетов, а мне нужен асинхронный TCP/UDP(неважно) сервер что бы отдавал определенные данные 1000+ клиентам.

(Отредактировано автором: 16 Января, 2012 - 13:49:12)

 
 Top
DeepVarvar Супермодератор
Отправлено: 16 Января, 2012 - 13:59:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Значит моя ссылка подойдет
 
 Top
h0rn3t
Отправлено: 16 Января, 2012 - 16:36:28
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




http://phpdaemon[dot]net/ это фреймворк
Как мне поможет ваша ссылка?Улыбка
 
 Top
caballero
Отправлено: 16 Января, 2012 - 16:45:48
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
В мануалах встречал запуск только веб-сокетов, а мне нужен асинхронный TCP/UDP(неважно)

Веб сокеты как раз и требуют TCP сервера.

Цитата:
http://phpdaemon[dot]net/ это фреймворк

Ну вы ж о нем спрашивали? . Это и есть сокет сервер о чем и написано в читайменя.txt - Powerful WebSocket and HTTP servers.

(Отредактировано автором: 16 Января, 2012 - 16:46:02)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
h0rn3t
Отправлено: 16 Января, 2012 - 18:20:52
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Суть проблемы в том что, коробочный вариант SocksServer.php из phpdaemon почему то не дает приконектится обычному тестовому tcp клиенту. Подумал может кто-то с форума продвинулся дальше написания Web-приложений на php...
 
 Top
caballero
Отправлено: 16 Января, 2012 - 18:38:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если TCP клиент не конектится к TCP серверу то это скорее админский вопрос а не девелоперский.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
h0rn3t
Отправлено: 16 Января, 2012 - 21:22:56
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




админю кучу FreeBSD и Debian серверов - c админской стороны все окУлыбка дело именно в конфиге phpdaemon.
 
 Top
EuGen Администратор
Отправлено: 16 Января, 2012 - 21:36:32
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Весьма стандартная вещь. Вот пример (слегка адаптирован), взят с http://devzone[dot]zend[dot]com/209/writ[dot][dot][dot]-servers-in-php/
PHP:
скопировать код в буфер обмена
  1. // Set time limit to indefinite execution
  2. // Set the ip and port we will listen on
  3. $address = '192.168.0.100';
  4. $port = 9000;
  5. $max_clients = 10;
  6. // Array that will hold client information
  7. $clients = Array();
  8. // Create a TCP Stream socket
  9. $sock = socket_create(AF_INET, SOCK_STREAM, 0);
  10. // Bind the socket to an address/port
  11. socket_bind($sock, $address, $port) or die('Could not bind to address');
  12. // Start listening for connections
  13. // Loop continuously
  14. while (true)
  15. {
  16.     // Setup clients listen socket for reading
  17.     $read[0] = $sock;
  18.     for ($i = 0; $i < $max_clients; $i++)
  19.     {
  20.         if ($client[$i]['sock']  != null)
  21.         {
  22.             $read[$i + 1] = $client[$i]['sock'] ;
  23.         }
  24.     }
  25.     // Set up a blocking call to socket_select()
  26.     $ready = socket_select($read,null,null,null);
  27.     /* if a new connection is being made add it to the client array */
  28.     if (in_array($sock, $read))
  29.     {
  30.         for ($i = 0; $i < $max_clients; $i++)
  31.         {
  32.             if ($client[$i]['sock'] == null)
  33.             {
  34.                 $client[$i]['sock'] = socket_accept($sock);
  35.                 break;
  36.             }
  37.             elseif ($i == $max_clients - 1)
  38.             {
  39.                 print ("too many clients")
  40.             }
  41.         }
  42.         if (--$ready <= 0)
  43.         {
  44.             continue;
  45.         }
  46.     } // end if in_array
  47.    
  48.     // If a client is trying to write - handle it now
  49.     for ($i = 0; $i < $max_clients; $i++) // for each client
  50.     {
  51.         if (in_array($client[$i]['sock'] , $read))
  52.         {
  53.             $input = socket_read($client[$i]['sock'] , 1024);
  54.             if ($input == null)
  55.             {
  56.                 // Zero length string meaning disconnected
  57.                 unset($client[$i]);
  58.             }
  59.             $n = trim($input);
  60.             if ($input == 'exit')
  61.             {
  62.                 // requested disconnect
  63.                 socket_close($client[$i]['sock']);
  64.             }
  65.             elseif($input)
  66.             {
  67.                 // strip white spaces and write back to user
  68.                 $output = ereg_replace("[ \t\n\r]","",$input).chr(0);
  69.                 socket_write($client[$i]['sock'],$output);
  70.             }
  71.         }
  72.         else
  73.         {
  74.             // Close the socket
  75.             socket_close($client[$i]['sock']);
  76.             unset($client[$i]);
  77.         }
  78.     }
  79. } // end while
  80. // Close the master sockets
  81. socket_close($sock);
  82.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB