http://c.biancheng.net/cpp/socket/
三次握手建立連接
四次握手?jǐn)嚅_連接
close函數(shù)與shutdown函數(shù)的區(qū)別
windows下
WinSock依賴系統(tǒng)的DLL
故第一步加載DLL
#include <winsock2.h>
#pragma comment(lib, "ws2_32.dll");
第二步初始化刘急,指明WinSock規(guī)范的版本
int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)
1.wVersionRequested版本信息尸变,WORD類型相當(dāng)于unsigned int,是一個整數(shù)卤恳,需要用MAKEWORD()對版本號進行轉(zhuǎn)換炎疆。
MAKEWORD(1,2); //主版本號為1发皿,副版本號為2蛙卤,返回0x0201
2.WSADATA結(jié)構(gòu)體
typedef struct WSADAta{
WORD wVersion; //ws2_32.dll 建議我們使用的版本號
WORD wHighVersion; //ws2_32.dll 支持的最高版本號
//一個以 null 結(jié)尾的字符串种呐,用來說明 ws2_32.dll 的實現(xiàn)以及廠商信息
char szDescription[WSADESCRIPTION_LEN+1];
//一個以 null 結(jié)尾的字符串宰翅,用來說明 ws2_32.dll 的狀態(tài)以及配置信息
char szSystemStatus[WSASYS_STATUS_LEN+1];
unsigned short iMaxSockets; //2.0以后不再使用
unsigned short iMaxUdpDg; //2.0以后不再使用
char FAR *lpVendorInfo; //2.0以后不再使用
}WSADATA, *LPWSADATA;
使用:
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData)