A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
25
Task/Hello-world-Web-server/Perl/hello-world-web-server-1.pl
Normal file
25
Task/Hello-world-Web-server/Perl/hello-world-web-server-1.pl
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
use Socket;
|
||||
|
||||
my $port = 8080;
|
||||
my $protocol = getprotobyname( "tcp" );
|
||||
|
||||
socket( SOCK, PF_INET, SOCK_STREAM, $protocol ) or die "couldn't open a socket: $!";
|
||||
# PF_INET to indicate that this socket will connect to the internet domain
|
||||
# SOCK_STREAM indicates a TCP stream, SOCK_DGRAM would indicate UDP communication
|
||||
|
||||
setsockopt( SOCK, SOL_SOCKET, SO_REUSEADDR, 1 ) or die "couldn't set socket options: $!";
|
||||
# SOL_SOCKET to indicate that we are setting an option on the socket instead of the protocol
|
||||
# mark the socket reusable
|
||||
|
||||
bind( SOCK, sockaddr_in($port, INADDR_ANY) ) or die "couldn't bind socket to port $port: $!";
|
||||
# bind our socket to $port, allowing any IP to connect
|
||||
|
||||
listen( SOCK, SOMAXCONN ) or die "couldn't listen to port $port: $!";
|
||||
# start listening for incoming connections
|
||||
|
||||
while( accept(CLIENT, SOCK) ){
|
||||
print CLIENT "HTTP/1.1 200 OK\r\n" .
|
||||
"Content-Type: text/html; charset=UTF-8\r\n\r\n" .
|
||||
"<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>\r\n";
|
||||
close CLIENT;
|
||||
}
|
||||
12
Task/Hello-world-Web-server/Perl/hello-world-web-server-2.pl
Normal file
12
Task/Hello-world-Web-server/Perl/hello-world-web-server-2.pl
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
use IO::Socket::INET;
|
||||
|
||||
my $sock = new IO::Socket::INET ( LocalAddr => "127.0.0.1:8080",
|
||||
Listen => 1,
|
||||
Reuse => 1, ) or die "Could not create socket: $!";
|
||||
|
||||
while( my $client = $sock->accept() ){
|
||||
print $client "HTTP/1.1 200 OK\r\n" .
|
||||
"Content-Type: text/html; charset=UTF-8\r\n\r\n" .
|
||||
"<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>\r\n";
|
||||
close $client;
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
while (++(our $vn)) {
|
||||
open NC, "|-", qw(nc -l -p 8080 -q 1);
|
||||
print NC "HTTP/1.0 200 OK\xd\xa",
|
||||
"Content-type: text/plain; charset=utf-8\xd\xa\xd\xa",
|
||||
"Goodbye, World! (hello, visitor No. $vn!)\xd\xa";
|
||||
}
|
||||
10
Task/Hello-world-Web-server/Perl/hello-world-web-server-4.pl
Normal file
10
Task/Hello-world-Web-server/Perl/hello-world-web-server-4.pl
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
use Plack::Runner;
|
||||
my $app = sub {
|
||||
return [ 200,
|
||||
[ 'Content-Type' => 'text/html; charset=UTF-8' ],
|
||||
[ '<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>' ]
|
||||
]
|
||||
};
|
||||
my $runner = Plack::Runner->new;
|
||||
$runner->parse_options('--host' => 'localhost', '--port' => 8080);
|
||||
$runner->run($app);
|
||||
|
|
@ -0,0 +1 @@
|
|||
my $app = sub { return [ 200, [ 'Content-Type' => 'text/html; charset=UTF-8' ], [ '<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>' ] ] };
|
||||
|
|
@ -0,0 +1 @@
|
|||
plackup --host localhost --port 8080 script.psgi
|
||||
Loading…
Add table
Add a link
Reference in a new issue