|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 2374 (0x946)
Types: TextFile
Names: »B«
└─⟦bad92a95e⟧ Bits:30000535 8mm tape, Rational 1000, RPC 1_0_2
└─⟦bb34fe6e2⟧ »DATA«
└─⟦15d8b76c6⟧
└─⟦this⟧
with Text_Io;
with Transport;
with Transport_Defs;
with Utils;
with Byte_Defs;
procedure Server is
Status : Transport_Defs.Status_Code;
Count : Natural;
Connection : Transport.Connection_Id;
Data : Byte_Defs.Byte_String (1 .. 256);
function "=" (L, R : Transport_Defs.Status_Code) return Boolean
renames Transport_Defs."=";
begin
loop
Transport.Open (Connection => Connection,
Status => Status,
Network => "TCP/IP",
Local_Socket => Transport_Defs.Socket_Id'(4, 86));
Text_Io.Put_Line ("status after open: " &
Transport_Defs.Image (Status));
if Status = Transport_Defs.Ok then
Transport.Connect (Connection => Connection,
Status => Status,
Max_Wait => Duration'Last);
Text_Io.Put_Line ("status after connect: " &
Transport_Defs.Image (Status));
while Status = Transport_Defs.Ok loop
Transport.Receive (Connection => Connection,
Status => Status,
Data => Data,
Count => Count,
Max_Wait => Duration'Last);
Text_Io.Put_Line ("status after receive: " &
Transport_Defs.Image (Status));
if Status = Transport_Defs.Ok then
Text_Io.Put_Line ("Received " & Utils.Byte_String_To_String
(Data (1 .. Count)));
Transport.Transmit
(Connection => Connection,
Status => Status,
Data => Utils.String_To_Byte_String
("Received " & Integer'Image (Count)),
Count => Count,
Max_Wait => Duration'Last,
More => False);
Text_Io.Put_Line ("status after send: " &
Transport_Defs.Image (Status));
end if;
end loop;
end if;
Transport.Close (Connection);
delay 10.0;
end loop;
end Server;
pragma Main;