透析ICMP協(xié)議(二): Windows Socket簡(jiǎn)介
Windows 的Socket函數(shù)有許多, 我沒(méi)有做具體介紹, 這里的函數(shù)都是簡(jiǎn)要說(shuō)明其用途, 具體用法請(qǐng)參考MSDN.這里的主要目的是為了后面的三個(gè)應(yīng)用服務(wù).
函數(shù)說(shuō)明:---------
WSAStartup函數(shù)初始化Winsock[聲明]int WSAStarup(Word wVersionRequested,LPWSADATA lpWSAData);[參數(shù)]wVersionRequested - 要求使用Winsock的最低版本號(hào)lpWSAData - Winsock的具體資料[返回值]當(dāng)函數(shù)成功調(diào)用時(shí)返回0失敗時(shí)返回非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)用時(shí)返回一個(gè)新的SOCKET(Socket Descriptor)失敗時(shí)返回INVALID_SOCKET.---
inet_addr函數(shù)地址轉(zhuǎn)換, 把'A.B.C.D'的IP地址轉(zhuǎn)換為32位長(zhǎng)整數(shù)[聲明]unsigned long inet_addr ( const char FAR *cp );[參數(shù)]cp - 指向IP地址字符串的指針[返回值]當(dāng)函數(shù)成功調(diào)用時(shí)返回用32位整數(shù)表示的IP地址失敗時(shí)返回INADDR_NONE.---
gethostbyname函數(shù)從主機(jī)名獲取主機(jī)信息.[聲明]strUCt hostent FAR * gethostbyname ( const char FAR *name );[參數(shù)]name - 指向主機(jī)名字符串的指針[返回值]當(dāng)函數(shù)成功調(diào)用時(shí)返回主機(jī)信息失敗時(shí)返回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) [返回值]成功時(shí)返回收到的字節(jié)數(shù).假如連接被中斷則返回0失敗時(shí)返回 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地址的大小 [返回值]成功時(shí)返回已經(jīng)發(fā)送的字節(jié)數(shù).失敗時(shí)返回SOCKET_ERROR
相關(guān)文章:
1. Win10怎么更改文件類型 windows如何修改文件類型2. Windows11畫圖網(wǎng)格線打開(kāi)步驟介紹3. ubuntu怎么安裝中文輸入法?4. OS X 10怎么升級(jí)?升級(jí)OS X 10方法5. 電腦控制面板怎么打開(kāi) win10電腦如何調(diào)出控制面板6. Windows XP操作系統(tǒng)恢復(fù)功能完全攻略7. Win10怎么關(guān)閉騰訊游戲進(jìn)程teniodl.exe8. Win11控制面板怎么打開(kāi)?Win11控制面板打卡方法教程9. centos7如何快速啟動(dòng)應(yīng)用程序?10. 如何解決Linux下Too many open files問(wèn)題
