vc網路程式設計常用函式小結

2021-09-30 10:28:41 字數 1431 閱讀 4739

1,wsastartup函式。

函式原型 int wsastartup( word wversionrequested, lpwsadata lpwsadata);

第乙個引數表示用來指定準備載入的winsock庫版本。第二個引數表示乙個返回值,指向wsadata結構的指標。庫版本相關資訊就在這個結構裡面。示例程式可以查閱msdn。函式用完後需呼叫wsacleanup釋放資源。

2,socket函式

函式原型 socket socket(int af, int type, int protocol)

第乙個引數指定位址族,對於基於tcp/ip協議的套間字,它只能是af_inet(也可以寫成pf_inet),第二個引數指定socket型別,有二種,流式套間字sock_stream, 資料報套間字sock_dgram,tcp用第一種,udp用第二種。

3,bind函式

函式原型 int bind(socket s, const struct sockaddr far * name, int namelen);

第乙個引數指定要繫結的套間字,第二個引數指定該套間子的本地位址資訊。第三個用於指定該位址結構的長度。

4,inet_addr和inet_ntoa

函式原型分別為

ussigned long inet_addr(const char far *cp);

char far* inet_ntoa(struct in_addr in);

第乙個函式接受乙個ip位址,如10.64.123.2 返回乙個適合分配給s_addr的ulong型別的數值。

inet_ntoa完成相反的轉換,接受乙個in_addr轉換為ip位址的字串

5,listen函式

函式原型

int listen(socket s, int backlog);

第乙個引數是套間字 第二個是等待佇列的最大長度

6,accept函式

socket accept(socket s, struct sockaddr far* addr, int flags)

接受客戶端傳送的連線請求,具體見msdn

7,send函式

傳送資料,具體見msdn

8,recv函式

接受資料,具體見msdn

9,connect函式

函式原型

int connect(socket s, const struct sockaddr far* name,int namelen);

第乙個引數是即將在其上建立連線的那個套間字,第二個是設定連線伺服器端的位址資訊,第三個是伺服器端位址的長度。

10,recvfrom

作用類似於recv 具體見msdn

11,sendto

作用類似於send

12 htons與htnol函式

這二個函式可以講乙個u_short或u_long轉換為icp/ip位元組順序。

VC 網路程式設計

服務端程式的編寫 1.建立套接字 socket 2.將套接字繫結到乙個本地位址和埠上.bind 3.將套接字設為監聽模式,準備接收客戶請求 listen 4.等待客戶請求到來,當請求到來後,接收連線請求,返回乙個新的對應於此次連線的套接字 accept 5.用返回的套接字和客戶端進行通訊 send ...

網路程式設計小結

做了乙個 tcp 和udp的服務端,但是現在測試老有問題,就是udp總會有那麼幾次超時,原因還沒找到,不過先總結一下網路的程式設計。首先預設的狀態下,recvfrom和recv都是阻塞的狀態,也就是沒接收到會一直阻塞,知道返回,但是可以通過select設定超時 timeval twait twait...

網路程式設計小結

memset mdataofcfg,0,sizeof mdataofcfg const char configfile debug config.cfg htons 把unsigned short型別從主機序轉換到網路序 htonl 把unsigned long型別從主機序轉換到網路序 ntohs ...