透析ICMP協(xié)議(二): Windows Socket簡介
Windows 的Socket函數(shù)有許多, 我沒有做具體介紹, 這里的函數(shù)都是簡要說明其用途, 具體用法請參考MSDN.這里的主要目的是為了后面的三個應(yīng)用服務(wù).
函數(shù)說明:---------
WSAStartup函數(shù)初始化Winsock[聲明]int WSAStarup(Word wVersionRequested,LPWSADATA lpWSAData);[參數(shù)]wVersionRequested - 要求使用Winsock的最低版本號lpWSAData - Winsock的具體資料[返回值]當(dāng)函數(shù)成功調(diào)用時返回0失敗時返回非0的值 ---
socket函數(shù)用于生成socket(soket Descriptor)[聲明]SOCKET socket(int af,int type,int protocol);[參數(shù)]af - 地址家族(通常使用:AF_INET)type - socket的種類SOCK_STREAM : 用于TCP協(xié)議SOCK_DGRAM : 用于UDP協(xié)議protocol - 所使用的協(xié)議[返回值]當(dāng)函數(shù)成功調(diào)用時返回一個新的SOCKET(Socket Descriptor)失敗時返回INVALID_SOCKET.---
inet_addr函數(shù)地址轉(zhuǎn)換, 把'A.B.C.D'的IP地址轉(zhuǎn)換為32位長整數(shù)[聲明]unsigned long inet_addr ( const char FAR *cp );[參數(shù)]cp - 指向IP地址字符串的指針[返回值]當(dāng)函數(shù)成功調(diào)用時返回用32位整數(shù)表示的IP地址失敗時返回INADDR_NONE.---
gethostbyname函數(shù)從主機(jī)名獲取主機(jī)信息.[聲明]strUCt hostent FAR * gethostbyname ( const char FAR *name );[參數(shù)]name - 指向主機(jī)名字符串的指針[返回值]當(dāng)函數(shù)成功調(diào)用時返回主機(jī)信息失敗時返回NULL(空值)
---
recv函數(shù)利用Socket進(jìn)行接受數(shù)據(jù).[聲明]int recv ( SOCKET s , char FAR *buf , int len , int flags );[參數(shù)]s - 指向用Socket函數(shù)生成的Socket Descriptorbuf - 接受數(shù)據(jù)的緩沖區(qū)(數(shù)組)的指針len - 緩沖區(qū)的大小flag - 調(diào)用方式(MSG_PEEK 或 MSG_OOB) [返回值]成功時返回收到的字節(jié)數(shù).假如連接被中斷則返回0失敗時返回 SOCKET_ERROR
---
sendto函數(shù)發(fā)送數(shù)據(jù).[聲明]int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token );[參數(shù)]s - 指向用Socket函數(shù)生成的Socket Descriptorbuf - 接受數(shù)據(jù)的緩沖區(qū)(數(shù)組)的指針len - 緩沖區(qū)的大小flag - 調(diào)用方式(MSG_DONTROUTE , MSG_OOB)to - 指向發(fā)送方SOCKET地址的指針token - 發(fā)送方SOCKET地址的大小 [返回值]成功時返回已經(jīng)發(fā)送的字節(jié)數(shù).失敗時返回SOCKET_ERROR
相關(guān)文章:
1. Win10專注助手自動打開怎么辦?Win10注助手自動打開的解決方法2. Win10提示無法正常啟動你的電腦錯誤代碼0xc0000001的解決辦法3. Windows11任務(wù)欄不自動隱藏怎么辦?4. Win10電腦制作定時關(guān)機(jī)代碼bat文件教程5. 如何一鍵關(guān)閉所有程序?Windows系統(tǒng)電腦快捷關(guān)閉所有程序教程6. uos截圖保存在哪? UOS設(shè)置截圖圖片保存位置的技巧7. Win10如何開啟多核優(yōu)化?Win10開啟多核優(yōu)化的方法8. dllhost.exe進(jìn)程占用CPU很高怎么解決?全面解析dllhost.exe進(jìn)程9. grub2引導(dǎo)freebsd詳解10. 怎么檢測電腦是否支持Win11系統(tǒng)?電腦無法運(yùn)行Win11怎么辦?
