%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/vendor_perl/Protocol/ |
Upload File : |
package Protocol::WebSocket; use strict; use warnings; our $VERSION = '0.26'; use Protocol::WebSocket::Frame; use Protocol::WebSocket::Handshake::Client; use Protocol::WebSocket::Handshake::Server; use Protocol::WebSocket::URL; 1; __END__ =encoding UTF-8 =head1 NAME Protocol::WebSocket - WebSocket protocol =head1 SYNOPSIS # Server side my $hs = Protocol::WebSocket::Handshake::Server->new; $hs->parse('some data from the client'); $hs->is_done; # tells us when handshake is done my $frame = $hs->build_frame; $frame->append('some data from the client'); while (defined(my $message = $frame->next)) { if ($frame->is_close) { # Send close frame back send( $hs->build_frame( type => 'close', version => $version )->to_bytes ); return; } # We got a message! } =head1 DESCRIPTION Client/server WebSocket message and frame parser/constructor. This module does not provide a WebSocket server or client, but is made for using in http servers or clients to provide WebSocket support. L<Protocol::WebSocket> supports the following WebSocket protocol versions: draft-ietf-hybi-17 (latest) draft-ietf-hybi-10 draft-ietf-hybi-00 (with HAProxy support) draft-hixie-75 By default the latest version is used. The WebSocket version is detected automatically on the server side. On the client side you have set a C<version> attribute to an appropriate value. L<Protocol::WebSocket> itself does not contain any code and cannot be used directly. Instead the following modules should be used: =head2 High-level modules =head3 L<Protocol::WebSocket::Server> Server helper class. =head3 L<Protocol::WebSocket::Client> Client helper class. =head2 Low-level modules =head3 L<Protocol::WebSocket::Handshake::Server> Server handshake parser and constructor. =head3 L<Protocol::WebSocket::Handshake::Client> Client handshake parser and constructor. =head3 L<Protocol::WebSocket::Frame> WebSocket frame parser and constructor. =head3 L<Protocol::WebSocket::Request> Low level WebSocket request parser and constructor. =head3 L<Protocol::WebSocket::Response> Low level WebSocket response parser and constructor. =head3 L<Protocol::WebSocket::URL> Low level WebSocket url parser and constructor. =head1 EXAMPLES For examples on how to use L<Protocol::WebSocket> with various event loops see C<examples/> directory in the distribution. =head1 CREDITS In order of appearance: Paul "LeoNerd" Evans Jon Gentle Lee Aylward Chia-liang Kao Atomer Ju Chuck Bredestege Matthew Lien (BlueT) Joao Orui Toshio Ito (debug-ito) Neil Bowers Michal Špaček Graham Ollis Anton Petrusevich Eric Wastl =head1 AUTHOR Viacheslav Tykhanovskyi, C<vti@cpan.org>. =head1 COPYRIGHT Copyright (C) 2010-2018, Viacheslav Tykhanovskyi. This program is free software, you can redistribute it and/or modify it under the same terms as Perl 5.10. =cut