Hello world/Web server: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 326:
}</lang>
 
=={{header|C++}}==
C version compiles as C++ (known for G++ on Linux)
=={{header|C sharp|C#}}==
<lang CSharp>using System.Text;
Line 382 ⟶ 380:
}
}</lang>
 
=={{header|C++}}==
C version compiles as C++ (known for G++ on Linux)
 
=={{header|Clojure}}==
Line 1,390 ⟶ 1,391:
<lang perl>my $app = sub { return [ 200, [ 'Content-Type' => 'text/html; charset=UTF-8' ], [ '<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>' ] ] };</lang>
Use <lang Shell>plackup --host localhost --port 8080 script.psgi</lang> to start the webserver.
 
=={{header|Perl 6}}==
{{works with|Rakudo}}
<lang perl6>my $listen = IO::Socket::INET.new(:listen, :localhost<localhost>, :localport(8080));
loop {
my $conn = $listen.accept;
my $req = $conn.get ;
$conn.print: "HTTP/1.0 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\nGoodbye, World!\r\n";
$conn.close;
}</lang>
Async:
<lang perl6>react {
whenever IO::Socket::Async.listen('0.0.0.0', 8080) -> $conn {
whenever $conn.Supply.lines -> $line {
$conn.print: "HTTP/1.0 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\nGoodbye, World!\r\n";
$conn.close;
}
}
}</lang>
 
=={{header|Phix}}==
Line 1,458 ⟶ 1,440:
end if
end while</lang>
 
=={{header|PHP}}==
<lang PHP><?php
// AF_INET6 for IPv6 // IP
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die('Failed to create socket!');
// '127.0.0.1' to limit only to localhost // Port
socket_bind($socket, 0, 8080);
socket_listen($socket);
 
$msg = '<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>';
 
for (;;) {
// @ is used to stop PHP from spamming with error messages if there is no connection
if ($client = @socket_accept($socket)) {
socket_write($client, "HTTP/1.1 200 OK\r\n" .
"Content-length: " . strlen($msg) . "\r\n" .
"Content-Type: text/html; charset=UTF-8\r\n\r\n" .
$msg);
}
else usleep(100000); // limits CPU usage by sleeping after doing every request
}
?></lang>
 
=={{header|PicoLisp}}==
Line 1,529 ⟶ 1,533:
MessageRequester("Error", "Can't create the server (port in use ?).")
EndIf</lang>
 
=={{header|PHP}}==
<lang PHP><?php
// AF_INET6 for IPv6 // IP
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die('Failed to create socket!');
// '127.0.0.1' to limit only to localhost // Port
socket_bind($socket, 0, 8080);
socket_listen($socket);
 
$msg = '<html><head><title>Goodbye, world!</title></head><body>Goodbye, world!</body></html>';
 
for (;;) {
// @ is used to stop PHP from spamming with error messages if there is no connection
if ($client = @socket_accept($socket)) {
socket_write($client, "HTTP/1.1 200 OK\r\n" .
"Content-length: " . strlen($msg) . "\r\n" .
"Content-Type: text/html; charset=UTF-8\r\n\r\n" .
$msg);
}
else usleep(100000); // limits CPU usage by sleeping after doing every request
}
?></lang>
 
=={{header|Python}}==
Line 1,626 ⟶ 1,608:
(serve/servlet start #:port 8080 #:servlet-path "/")
</lang>
 
=={{header|Raku}}==
(formerly Perl 6)
{{works with|Rakudo}}
<lang perl6>my $listen = IO::Socket::INET.new(:listen, :localhost<localhost>, :localport(8080));
loop {
my $conn = $listen.accept;
my $req = $conn.get ;
$conn.print: "HTTP/1.0 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\nGoodbye, World!\r\n";
$conn.close;
}</lang>
Async:
<lang perl6>react {
whenever IO::Socket::Async.listen('0.0.0.0', 8080) -> $conn {
whenever $conn.Supply.lines -> $line {
$conn.print: "HTTP/1.0 200 OK\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\nGoodbye, World!\r\n";
$conn.close;
}
}
}</lang>
 
=={{header|REALbasic}}==
Line 1,792 ⟶ 1,794:
}
</lang>
 
=={{header|Salmon}}==
<lang Salmon>use "http.salm" : "http.si";
 
/* Don't do any logging. */
procedure log(...) { };
 
simple_http_server(8080, procedure(header, connection)
{ respond_text(connection, "Goodbye, World!"); });</lang>
 
=={{header|Scala}}==
Line 1,820 ⟶ 1,831:
}
}</lang>
 
=={{header|Salmon}}==
<lang Salmon>use "http.salm" : "http.si";
 
/* Don't do any logging. */
procedure log(...) { };
 
simple_http_server(8080, procedure(header, connection)
{ respond_text(connection, "Goodbye, World!"); });</lang>
 
=={{header|Seed7}}==
Line 1,968 ⟶ 1,970:
prn ""
prn "Hello, world!"</lang>
 
 
=={{header|zkl}}==
10,333

edits