第一步:the wsastartup function initiates use of ws2_32.dll by a process.
在所有 windows sockets 函数中,只有启动函数 wsastartup() 与终止函数 wsacleanup() 是必须使用的. 启动函数必须是第一个使用的函数,而且它允许指定 windows sockets api 的版本,并获得 sockets的特定的一些技术细节.本结构如下:int pascal far wsastartup(word wversionrequested, lpwsadata lpwsadata); 其中 wversionrequested 保证 sockets 可正常运行的 dll 版本,如果不支持,则返回错误信息.我们看一下下面这段代码,看一下如何进行 wsastartup() 的调用word wversionrequested;// 定义版本信息变量wsadata wsadata;//定义数据信息变量int err;//定义错误号变量wversionrequested = makeword(1,1);//给版本信息赋值err = wsastartup(wversionrequested, &wsadata);//给错误信息赋值if(err!=0){return;//告诉用户找不到合适的版本}//确认 windows sockets dll 支持 1.1 版本//dll 版本可以高于 1.1//系统返回的版本号始终是最低要求的 1.1,即应用程序与dll 中可支持的最低版本号if(lobyte(wsadata.wversion)!= 1|| hibyte(wsadata.wversion)!=1){wsacleanup();//告诉用户找不到合适的版本return;}//windows sockets dll 被进程接受,可以进入下一步操作 关闭函数使用时,任何打开并已连接的 sock_stream 套接字被复位,但那些已由 closesocket() 函数关闭的但仍有未发送数据的套接字不受影响,未发送的数据仍将被发送.... 下一页