with Ada.Text_IO; --with Ada.Strings.Unbounded; with GNAT.Sockets; with Streams_Text_IO; procedure Server is -- Message : Ada.Strings.Unbounded.Unbounded_String; Listening_Socket : GNAT.Sockets.Socket_Type; Data_Socket : GNAT.Sockets.Socket_Type; Address : GNAT.Sockets.Sock_Addr_Type; Stream : GNAT.Sockets.Stream_Access; Text_Stream : Streams_Text_IO.Text_Stream; Line_Terminator : Streams_Text_IO.Line_Terminator; begin GNAT.Sockets.Initialize; Address.Addr := GNAT.Sockets.Inet_Addr("216.145.22.82"); Address.Port := 23520; GNAT.Sockets.Create_Socket(Listening_Socket); GNAT.Sockets.Set_Socket_Option(Listening_Socket, GNAT.Sockets.Socket_Level, (GNAT.Sockets.Reuse_Address, true)); GNAT.Sockets.Bind_Socket(Listening_Socket, Address); GNAT.Sockets.Listen_Socket(Listening_Socket); GNAT.Sockets.Accept_Socket(Listening_Socket, Data_Socket, Address); Stream := GNAT.Sockets.Stream(Data_Socket); Streams_Text_IO.Create(Text_Stream, Stream, Line_Terminator); Ada.Text_IO.Put_Line("oh hi"); loop declare Message : String(1..512); Last : Natural; begin Streams_Text_IO.Get_Line(Text_Stream, Message, Last); if(Message) = "quit" then Streams_Text_IO.Put_Line(Text_Stream, "Good bye..."); Ada.Text_IO.Put_Line("Good bye..."); Exit; else Ada.Text_IO.Put_Line(Message); Streams_Text_IO.Put(Text_Stream, "WE GOT: "); Streams_Text_IO.Put(Text_Stream, Message); Streams_Text_IO.New_Line(Text_Stream); end if; end; end loop; GNAT.Sockets.Finalize; end Server;