The UdpSend/Lstn demo generates an error here (ListenBackLog Property
does
not exist), but I can read all the source.
It is likely you have an old wsocket.pas or wsocket.dcu somewhere. Check you
installation and be sure to delete every old file version. Use the latest
version from my website.
The question is, I suppose to use TWSocket.Send(buf,size) ok? Will the
udp
stack take control over the 20Kb I am trying to send? How do I control
that
You must set TWSocket.BufSize to the largest packet you want to send. By
default, it is 1460 bytes which is the largest TCP packet on Ethernet.
Note that WinSock may fragment you packets depending on the hardware layer.
You have no control about it. It may also limit the maximum packet size to
some limit depending on the implementation. Also no control about that.
Other question is, there is the SendTo(Addr,buf,size) method, maybe I
should
use that, but is there any easy function to convert the normal dotted IP
address (127.0.0.1, ie) to the 'sockaddr_in' type?
Use WSocket_inet_addr function (not a method of the component, a simple
function).
Something like:
var
DestAddr : TSockAddr;
begin
FillChar(DestAddr, SizeOf(DestAddr), 0);
DestAddr.sin_family := AF_INET;
DestAddr.sin_addr.S_addr := WSocket_inet_addr('192.168.1.1');
WSocket1.SendTo(DestAddr, SizeOf(DestAddr), Data, DataSize);
end;
--
[EMAIL PROTECTED]
http://www.overbyte.be
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be