socket编程

http://c.biancheng.net/cpp/socket/
三次握手建立连接
四次握手断开连接
close函数与shutdown函数的区别

windows下


WinSock依赖系统的DLL
故第一步加载DLL

#include 
#pragma comment(lib, "ws2_32.dll");

第二步初始化,指明WinSock规范的版本

int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)

1.wVersionRequested版本信息,WORD类型相当于unsigned int,是一个整数,需要用MAKEWORD()对版本号进行转换。
MAKEWORD(1,2); //主版本号为1,副版本号为2,返回0x0201

2.WSADATA结构体

typedef struct WSADAta{
    WORD           wVersion;  //ws2_32.dll 建议我们使用的版本号
    WORD           wHighVersion;  //ws2_32.dll 支持的最高版本号
    //一个以 null 结尾的字符串,用来说明 ws2_32.dll 的实现以及厂商信息
    char           szDescription[WSADESCRIPTION_LEN+1];
    //一个以 null 结尾的字符串,用来说明 ws2_32.dll 的状态以及配置信息
    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)

你可能感兴趣的:(socket编程)