1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
Program server;
{
Program to test Sockets unit by Michael van Canneyt and Peter Vreman
Server Version, First Run sock_svr to let it create a socket and then
sock_cli to connect to that socket
}
uses Sockets;
Var
FromName : string;
Buffer : string[255];
S : Longint;
Sin,Sout : Text;
SAddr : TInetSockAddr;
procedure perror (const S:string);
begin
writeln (S,SocketError);
halt(100);
end;
begin
S:=fpSocket (AF_INET,SOCK_STREAM,0);
if SocketError<>0 then
Perror ('Server : Socket : ');
SAddr.sin_family:=AF_INET;
{ port 50000 in network order }
SAddr.sin_port:=htons(50000);
SAddr.sin_addr.s_addr:=0;
if fpBind(S,@SAddr,sizeof(saddr))=-1 then
PError ('Server : Bind : ');
if fpListen (S,1)=-1 then
PError ('Server : Listen : ');
Writeln('Waiting for Connect from Client, run now sock_cli in an other tty');
if not Accept (S,FromName,Sin,Sout) then
PError ('Server : Accept : '+fromname);
Reset(Sin);
ReWrite(Sout);
Writeln(Sout,'Message From Server');
Flush(SOut);
while not eof(sin) do
begin
Readln(Sin,Buffer);
Writeln('Server : read : ',buffer);
end;
end.
|