Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function go() {
- $starttime = round(microtime(true),2);
- $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
- socket_bind($socket, '192.168.1.2', 4000);
- socket_listen($socket, 10);
- socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
- while(true){ //Бесконечный цикл ожидания подключений
- $accept = @socket_accept($socket); //Зависаем пока не получим ответа
- if($accept === false) {
- echo "Error: ".socket_strerror(socket_last_error())."<br />\r\n";
- usleep(100);
- }
- socket_write($accept, "Привет");
- }
- }
- $getMsg = getallheaders()['Sec-WebSocket-Key'];
- $guid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
- $sec_websocket_accept = trim(substr($getMsg, strpos($getMsg, 'Sec-WebSocket-Key:') + 18)).$guid;
- $sec_websocket_accept = sha1($sec_websocket_accept, true);
- $sec_websocket_accept = base64_encode($sec_websocket_accept);
- header("HTTP/1.1 101 Switching Protocols");
- header("Upgrade: websocket");
- header("Connection: Upgrade");
- header("Sec-WebSocket-Accept: $sec_websocket_accept");
- header('Sec-WebSocket-Extensions: deflate-frame');
- header('Sec-WebSocket-Protocol: soap');
- $socket = go();
- if (isset($socket)) {
- echo "Closing connection... ";
- @socket_shutdown($socket);
- socket_close($socket);
- echo "OK <br />\r\n";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement