Windows SOCKET WSASocket int af int type int

























- Slides: 25





Сокеты Windows Сокет создается одной из двух функций: SOCKET WSASocket { int af, int type, int protocol, LPWSAPROTOCOL_INFO lp. Protocol. Info, GROUP g, DWORD dw. Flags }; SOCKET socket { int af, int type, int protocol };


Соответствие параметров для некоторых типов сокетов Протокол Internet Protocol (IP) Семейство адресов AF_INET Тип сокета Параметр типа TCP UDP Простые сокеты SOCK_STREAM SOCK_DGRAM SOCK_RAW Net. BIOS AF_NETBIOS Последовательные пакеты Дейтаграммы Apple. Talk AF_APPLETALK MSAFD Apple. Talk (ADSP) (псевдопоток) MSAFD Apple. Talk (PAP) MSAFD Apple. Talk (RTMP) MSAFD Apple. Talk (ZIP) Параметр протокола IPPROTO_IP IPPROTO_UDP IPPROTO_RAW IPPROTO_ICMP SOCK_SEQPACKET Номер LAN SOCK_DGRAM Номер LAN SOCK_RDM SOCK_STREAM SOCK_RDM SOCK_DGRAM ATPROTO_ADSP ATPROTO_PAP DDPPROTO_RTMP DDPPROTO_ZIP



IP-адресация � IP-адрес состоит из 32 бит в версии 4 (IPv 4). � Адрес и номер порта службы задают в структуре SOCKADDR_IN: struct sockaddr_in { short u_short struct in_addr char }; sin_family; sin_port; sin_addr; sin_zero[8];





Функции для преобразования многобайтных чисел HBO в NBO � u_long htonl(u_long hostlong); � int WSAHtonl( SOCKET s, u_long hostlong, u_long FAR * lpnetlong ); � u_short htons(u_short hostshort); � int WSAHtons( SOCKET s, u_short hostshort, u_short FAR * lpnetshort );

Функции для преобразования многобайтных чисел NBO в HBO � u_long ntohl(u_long netlong); � int WSANtohl( SOCKET s, u_long netlong, u_long FAR * lphostlong ); � u_short ntohs(u_short netshort); � int WSANtohs( SOCKET s, u_short netshort, u_short FAR * lphostshort );


Создание IP-сокета � s = socket(AF_INET, SOCK_DGRAM, Ø); //UDP � s = socket(AF_INET, SOCK_RAW, Ø); //IP � s = WSASocket(AF_INET, SOCK_STREAM, Ø, NULL, Ø, WSA_FLAG_OVERLAPPED); //TCP






Функция WSAAddress. To. String INT WSAAddress. To. String( LPSOCKADDR lpsa. Address, DWORD dw. Address. Length, LPWSAPROTOCOL_INFO lp. Protocol. Info, OUT LPTSTR lpsz. Address. String, IN OUT LPDWORD lpdw. Address. String. Length ); � lpsa. Address соответствует структуре SOCKADDR, содержащей адрес, который надо преобразовать в строку � dw. Address. Length задает размер структуры � параметр lp. Protocol. Info представляет поставщика протокола � lpsz. Address. String — буфер, где сохраняется удобная для чтения адресная строка � lpdw. Address. String. Length — это размер адресной строки

Функция WSAString. To. Address INT WSAString. To. Address( LPTSTR Address. String, INT Address. Family, LPWSAPROTOCOL_INFO lp. Protocol. Info, LPSOCKADDR lp. Address, LPINT lp. Address. Length ); � Address. String передается адресная строка, для IP — XXX: Y � Address. Family представляет тип семейства адресов для параметра Address. String � lp. Protocol. Info представляет поставщика протокола � lp. Address хранится структура SOCKADDR � lp. Address. Length представляет размер результирующей структуры SOCKADDR
Wsasocket vs socket
Int sum(int a int n) int sum=0 i
Int max(int x int y)
Interface calculator public int add class test
Public void drawsquare(int x, int y, int len)
Divideint
Windows live movie maker 2012
Windows media player 9
Alternatief voor windows live mail
Windows driver kit windows 7
Microsoft windows movie maker windows 7
Skin windows media player
Windows identity foundation windows 10
Windws update
Windows xp virtual machine download
Windows mobile center windows 10
2012 movie maker
Ipseq
Windows 7 xp mode
Interface myinterface int foo(int x)
Int main(int argc, char** argv)
Nnxn com
Int factorial(int n)
Const int arduino adalah
Int main() int num=4
Voidswap