永发信息网

vc socket编程的服务器和客户能否公用一个WSADATA 变量

答案:2  悬赏:20  手机版
解决时间 2021-12-28 22:17
  • 提问者网友:鐵馬踏冰河
  • 2021-12-28 02:09
在头文件中定义一个WSADATA 变量,然后服务器和客户Winsock打开能否都用这个变量
另外,我用了我输入WSADATA时,插件(vax)提示还有个WASData结构体,这两个有什么区别
最佳答案
  • 五星知识达人网友:青尢
  • 2021-12-28 03:39
WSADATA swd ;
if(WSAStartup(MAKEWORd(2,2),&wsd)!=0)
{
return -1;
}

初始化的时候winsock使用的。服务器和客户端都是最初运行一次以上的过程。之后就与wsadata没有任何关系了。

WSAData机构体如下
功能是:存放windows socket初始化信息.
struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYSSTATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char FAR * lpVendorInfo;
};
wVersion为你将使用的Winsock版本号,wHighVersion为载入的Winsock动态库支持的最高版本,注意,它们的高字节代表次版本,低字节代表主版本。
szDescription与szSystemStatus由特定版本的Winsock设置,实际上没有太大用处。
iMaxSockets表示最大数量的并发Sockets,其值依赖于可使用的硬件资源。
iMaxUdpDg表示数据报的最大长度;然而,获取数据报的最大长度,你需要使用WSAEnumProtocols对协议进行查询。
最大数量的并发Sockets并不是什么神奇的数字,它是由可用的物理资源来决定的.
lpVendorInfo是为Winsock实现而保留的制造商信息,这个在Windows平台上并没有什么用处.
全部回答
  • 1楼网友:独钓一江月
  • 2021-12-28 04:39
应该不能吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯