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

Reply via email to