您的位置:首頁技術文章
文章詳情頁

透析ICMP協議(二): Windows Socket簡介

瀏覽:75日期:2024-02-18 15:01:17

Windows 的Socket函數有許多, 我沒有做具體介紹, 這里的函數都是簡要說明其用途, 具體用法請參考MSDN.這里的主要目的是為了后面的三個應用服務.

函數說明:---------

WSAStartup函數初始化Winsock[聲明]int WSAStarup(Word wVersionRequested,LPWSADATA lpWSAData);[參數]wVersionRequested - 要求使用Winsock的最低版本號lpWSAData - Winsock的具體資料[返回值]當函數成功調用時返回0失敗時返回非0的值 ---

socket函數用于生成socket(soket Descriptor)[聲明]SOCKET socket(int af,int type,int protocol);[參數]af - 地址家族(通常使用:AF_INET)type - socket的種類SOCK_STREAM : 用于TCP協議SOCK_DGRAM : 用于UDP協議protocol - 所使用的協議[返回值]當函數成功調用時返回一個新的SOCKET(Socket Descriptor)失敗時返回INVALID_SOCKET.---

inet_addr函數地址轉換, 把'A.B.C.D'的IP地址轉換為32位長整數[聲明]unsigned long inet_addr ( const char FAR *cp );[參數]cp - 指向IP地址字符串的指針[返回值]當函數成功調用時返回用32位整數表示的IP地址失敗時返回INADDR_NONE.---

gethostbyname函數從主機名獲取主機信息.[聲明]strUCt hostent FAR * gethostbyname ( const char FAR *name );[參數]name - 指向主機名字符串的指針[返回值]當函數成功調用時返回主機信息失敗時返回NULL(空值)

---

recv函數利用Socket進行接受數據.[聲明]int recv ( SOCKET s , char FAR *buf , int len , int flags );[參數]s - 指向用Socket函數生成的Socket Descriptorbuf - 接受數據的緩沖區(數組)的指針len - 緩沖區的大小flag - 調用方式(MSG_PEEK 或 MSG_OOB) [返回值]成功時返回收到的字節數.假如連接被中斷則返回0失敗時返回 SOCKET_ERROR

---

sendto函數發送數據.[聲明]int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token );[參數]s - 指向用Socket函數生成的Socket Descriptorbuf - 接受數據的緩沖區(數組)的指針len - 緩沖區的大小flag - 調用方式(MSG_DONTROUTE , MSG_OOB)to - 指向發送方SOCKET地址的指針token - 發送方SOCKET地址的大小 [返回值]成功時返回已經發送的字節數.失敗時返回SOCKET_ERROR

標簽: Windows系統
相關文章:
国产综合久久一区二区三区