Scrive Wilfried Mestdagh <[EMAIL PROTECTED]>:
> Hello Martin,
>
> Here is a small example:
>
> procedure TFoo.FUDPDataAvailable(Sender: TObject; Error: word);
> var
> Buffer: array [0..1023] of char;
> Len: integer;
> Src: TSockAddrIn;
> SrcLen: integer;
> begin
> SrcLen := SizeOf(Src);
> Len := TWSocket(Sender).ReceiveFrom(@Buffer, SizeOf(Buffer), Src,
> SrcLen);
> if Len < 0 then
> Exit;
> Buffer[Len] := #0;
Wilfried, excuse me, but is it possible that Len is 1024?
If yes then you have an out of bound.
Bye, Maurizio.
>
> {$ifdef DEBUG}
> WriteLn('UDP packet received from ', inet_ntoa(Src.sin_addr));
> WriteLn('Data ', Buffer);
>
> ---
> Rgds, Wilfried [TeamICS]
> http://www.overbyte.be/eng/overbyte/teamics.html
> http://www.mestdagh.biz
>
> Friday, October 17, 2008, 04:47, Xealot wrote:
>
> > Hello!
>
> > I would like to know if its possible to get the address that a UDP packet
> > comes from.
>
> > I am making an application that will send multiple packets to different
> > hosts using SendTo and I will be receiving replies from them.
>
> > I have no power to change the protocol, so I need to know if its possible
> to
> > find out the address each packet arrived from.
>
> > Currently, I use bytesread := sock.Receive(@data, SizeOf(data)); to
> receive
> > the data.
>
> > where sock is a TWSocket object. sock.Addr will not work here.. :(
>
> > Thanks for taking your time,
>
> > - Martin E.
>
> --
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
>
----------------------------------------------------
This mail has been sent using Alpikom webmail system
http://www.alpikom.it
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be