tcpip sockets
Michal Krause
mike na navrcholu.cz
Úterý Červen 1 21:22:55 CEST 1999
Dne 1. 6. 1999 =?iso-8859-2?Q?Ji=F8=ED_=A9t=ECp=E1nek?= napsal:
> mam redhat 5.1 a snazim se programovat tcpip aplikaci (chat) ve
> freepascalu (freepascal.sk). je tam celkem dobry socket-unit, ale nemam k
> nemu kompletni dokumentaci. setkal jsem se tam s recordtypem tinetsockaddr
> (popis viz nize). potreboval bych prevest hostname/ip-adresu a cislo portu do
> promenne tohoto typu (v pascalu, klidne i v C/C++). dekuji
>
> TInetSockAddr = packed record
> family:word;
> port:word;
> addr:cardinal;
> pad:array[1..8] of byte;
> end;
Nevim, jak v packalu, ale v C takto:
server.sin_addr.s_addr = inet_addr(iaddr);
server.sin_family = AF_INET;
server.sin_port = htons(80);
Funkce inet_addr() konvertuje IP adresu z human readable tvaru (x.x.x.x) do
binarniho tvaru se sitovym poradim bajtu. V podstate to same dela funkce
htons. Pad, pokude se nemylim, je jenom doplneni na velikost struktury
sockaddr.
S pozdravem
Michal Krause /\
ICQ: 7665279 Informace (nejenom) ze sveta Linuxu /\/ \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz
There are three kinds of lies: lies, damn lies, and benchmarks.
Jeremy Allison
Další informace o konferenci Linux