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 49 50 51 52 53 54 55 56 57 58 59 60 61
|
unit Unit1;
interface
uses
SysUtils,
system.Collections,
system.text,
system.net.Sockets,
system.Net;
procedure Serveur();
procedure Client();
implementation
procedure Serveur();
var
sock : socket;
endp, s : IpEndPoint;
buf : array of byte;
len : integer;
begin
// creation de la socket
sock := socket.create(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
// notre addresse sur laquelle on va être attachée
endp := IpEndPoint.Create(IpAddress.Any, 4242);
// on s'attache...
sock.Bind(endp);
while True do
begin
setlength(buf, 42);
s := IpEndPoint.Create(IPaddress.any, 0);
sock.ReceiveFrom(buf, 42, SocketFlags.None, s);
writeln(encoding.ASCII.GetString(buf));
end;
end;
procedure Client();
var
sock : socket;
s : string;
buf, buf2 : array of byte;
endp, ep : IpEndPoint;
begin
sock := socket.Create(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
// notre addresse sur laquelle on va être attachée
endp := IPEndPoint.Create(IPAddress.Parse('127.0.0.1'), 4242);
while True do
begin
Writeln('Message à transmettre <42 char');
Readln(s);
setlength(buf, 42);
buf := Encoding.ASCII.GetBytes(s);
sock.SendTo(buf, endp);
end;
end;
end. |
Partager