Version 0.9 with udp-sockets is now available on
http://www.klaus-hartnegg.de/pascal/ip
Here's an example that should look familar to people who know socket
programming:
SOCK.CreateSocket (socket, ok);
if not ok then abort ('can not create socket');
adr.IP := rIP;
adr.****t_p := Udp****tDns;
SOCK.SendTo (socket, adr, sendbuf, sizeof(sendbuf),
delayed, err);
write ('waiting for reply (abort with keypress) ...');
repeat
ProcessNet; { required to do background processing! }
idle; { optional to make multitasking operating system
happy }
SOCK.RecvFrom (socket, false, adr,
recvbuf, sizeof(recvbuf), numread, buf_ok, overflow,
err);
if err.typ <> none then abort (NetMsgFromError(err));
until buf_ok or keypressed;
while keypressed do readkey; { empty keyboard buffer }
writeln;
writeln ('reply received: ',buf_ok);
if buf_ok then
ShowMemHexAsc (recvbuf,numread);
SOCK.CloseSocket (socket, ok);
if not ok then abort ('can not close socket');


|