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
Форумы портала PHP.SU :: Версия для печати :: ошибка сокет сервера
Форумы портала PHP.SU » PHP » Программирование на PHP » ошибка сокет сервера

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

1. Соц Сеть - 05 Июля, 2012 - 12:01:41 - перейти к сообщению
здравствуйте ! есть код сокета, код взято из http://www.php.su/functions/?cat=sockets?
сокет соединяем с Денвером и выводит ошибка
Fatal error: Call to undefined function socket_create() in Z:\home\socket.ruu\www\index.php on line 14, из чего это ?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. /* Позволить сценарию зависнуть вокруг ожидания подключений */
  4.  
  5. /* Включить неявный вывод, так что мы видим то, что мы получаем
  6.  * когда это приходит . */
  7.  
  8. $address = '127.0.0.1';
  9. $port = 80;
  10.  
  11. if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
  12.     echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
  13. }
  14.  
  15. if (($ret = socket_bind($sock, $address, $port)) < 0) {
  16.     echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
  17. }
  18.  
  19. if (($ret = socket_listen($sock, 5)) < 0) {
  20.     echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n";
  21. }
  22.  
  23. do {
  24.     if (($msgsock = socket_accept($sock)) < 0) {
  25.         echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
  26.         break;
  27.     }
  28.     /* Send instructions. */
  29.     $msg = "\nWelcome to the PHP Test Server. \n" .
  30.         "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
  31.     socket_write($msgsock, $msg, strlen($msg));
  32.  
  33.     do {
  34.         if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
  35.             echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";
  36.             break 2;
  37.         }
  38.         if (!$buf = trim($buf)) {
  39.             continue;
  40.         }
  41.         if ($buf == 'quit') {
  42.             break;
  43.         }
  44.         if ($buf == 'shutdown') {
  45.             socket_close($msgsock);
  46.             break 2;
  47.         }
  48.         $talkback = "PHP: You said '$buf'.\n";
  49.         socket_write($msgsock, $talkback, strlen($talkback));
  50.         echo "$buf\n";
  51.     } while (true);
  52.     socket_close($msgsock);
  53. } while (true);
  54.  
  55. socket_close($sock);
  56. ?>
2. EuGen - 05 Июля, 2012 - 13:22:44 - перейти к сообщению
Соц Сеть пишет:
Fatal error: Call to undefined function socket_create()

Это значит, что нужно подключить расширение sockets в Вашем PHP: http://ru2.php.net/manual/ru/book.sockets.php
Сделать в Windows это можно в файле php.ini, раскомментировав строку:
CODE (htmlphp):
скопировать код в буфер обмена
  1. extension=php_sockets.dll

для *nix же будет нужна поддержка при сборке (опция --enable-sockets при конфигурировании)

 

Powered by ExBB FM 1.0 RC1