Advertisement
PlotnikovPhilipp

Untitled

Nov 1st, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.42 KB | None | 0 0
  1. <?php
  2.     function go() {
  3.         $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  4.         socket_bind($socket, '192.168.1.2', 4000);
  5.         socket_listen($socket, 10);
  6.         socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
  7.         while(true){ //Бесконечный цикл ожидания подключений
  8.             $accept = @socket_accept($socket); //Зависаем пока не получим ответа
  9.             if($accept === false) {
  10.                 echo "Error: ".socket_strerror(socket_last_error())."<br />\r\n";
  11.                 usleep(100);
  12.             }
  13.            
  14.            
  15.             socket_write($accept, "Привет");
  16.            
  17.  
  18.         }
  19.     }
  20.    
  21.     $guid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
  22.     $sec_websocket_accept = getallheaders()['Sec-WebSocket-Key'].$guid;
  23.     $sec_websocket_accept = sha1($sec_websocket_accept, true);
  24.     $sec_websocket_accept = base64_encode($sec_websocket_accept);
  25.     header("HTTP/1.1 101 Switching Protocols");
  26.     header("Upgrade: websocket");
  27.     header("Connection: Upgrade");
  28.     header("Sec-WebSocket-Accept: $sec_websocket_accept");
  29.     header('Sec-WebSocket-Extensions: deflate-frame');
  30.     header('Sec-WebSocket-Protocol: soap');
  31.    
  32.     $socket = go();
  33.     if (isset($socket)) {
  34.         echo "Closing connection... ";
  35.         @socket_shutdown($socket);
  36.         socket_close($socket);
  37.         echo "OK <br />\r\n";
  38.     }
  39. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement