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 ...