Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
39
Task/Echo-server/Ada/echo-server-1.ada
Normal file
39
Task/Echo-server/Ada/echo-server-1.ada
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
with Ada.Text_IO;
|
||||
with Ada.IO_Exceptions;
|
||||
with GNAT.Sockets;
|
||||
procedure Echo_Server is
|
||||
Receiver : GNAT.Sockets.Socket_Type;
|
||||
Connection : GNAT.Sockets.Socket_Type;
|
||||
Client : GNAT.Sockets.Sock_Addr_Type;
|
||||
Channel : GNAT.Sockets.Stream_Access;
|
||||
begin
|
||||
GNAT.Sockets.Create_Socket (Socket => Receiver);
|
||||
GNAT.Sockets.Set_Socket_Option
|
||||
(Socket => Receiver,
|
||||
Level => GNAT.Sockets.Socket_Level,
|
||||
Option => (Name => GNAT.Sockets.Reuse_Address, Enabled => True));
|
||||
GNAT.Sockets.Bind_Socket
|
||||
(Socket => Receiver,
|
||||
Address => (Family => GNAT.Sockets.Family_Inet,
|
||||
Addr => GNAT.Sockets.Inet_Addr ("127.0.0.1"),
|
||||
Port => 12321));
|
||||
GNAT.Sockets.Listen_Socket (Socket => Receiver);
|
||||
loop
|
||||
GNAT.Sockets.Accept_Socket
|
||||
(Server => Receiver,
|
||||
Socket => Connection,
|
||||
Address => Client);
|
||||
Ada.Text_IO.Put_Line
|
||||
("Client connected from " & GNAT.Sockets.Image (Client));
|
||||
Channel := GNAT.Sockets.Stream (Connection);
|
||||
begin
|
||||
loop
|
||||
Character'Output (Channel, Character'Input (Channel));
|
||||
end loop;
|
||||
exception
|
||||
when Ada.IO_Exceptions.End_Error =>
|
||||
null;
|
||||
end;
|
||||
GNAT.Sockets.Close_Socket (Connection);
|
||||
end loop;
|
||||
end Echo_Server;
|
||||
Loading…
Add table
Add a link
Reference in a new issue