Socket下关键字解读

    技术2024-05-14  78

    WORD:字,是2byte的无符号整数,表示范围0~65535.相当于c语言中2个char的范围。 在socket通信中,在初始化WSA的时候我们常用WORD定义socket的版本号进行初始化: WORD sockVersion = MAKEWORD(2, 2); 其中MAKEWORD是将两个byte合并成一个WORD,一个在高八位(b),一个在低八位(a):(MAKERWORD(a,b))。

    WSADATA:是一个结构体,功能是:存放windows socket初始化信息。 其结构体如下: struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN+1]; //这两个基本没什么价值 char szSystemStatus[WSASYSSTATUS_LEN+1]; unsigned short iMaxSockets; //2.0之后 后三个成员已经不用了 unsigned short iMaxUdpDg; char FAR * lpVendorInfo; }; wVersion为你将bai使用的Winsock版本du号,wHighVersion为载入的zhiWinsock动态库支持的最高版本, 它们的高字节代表次版本,低字节代表主版本。 szDescription与szSystemStatus由特定版本的Winsock设置,实际上没有太大用处。 iMaxSockets表示最大数量的并发Sockets,其值依赖于可使用的硬件资源。 iMaxUdpDg表示数据报的最大长度;然而,获取数据报的最大长度,你需要使用WSAEnumProtocols对协议进行查询。 最大数量的并发Sockets并不是什么神奇的数字,它是由可用的物理资源来决定的。 lpVendorInfo是为Winsock实现而保留的制造商信息,这个在Windows平台上并没有什么用处。

    Processed: 0.013, SQL: 9