Window网络编程之Winsock(一)起步

Window网络编程之Winsock()

Winsock的头文件可库

Winsock有两个主要版本,即Winsock 1Winsock 2,两者都能在除了Windows CE外(Winsock CE 只支持Winsock 1)的所有Window平台上运行。开发Window网络程序时,

WINSOCK2H包含到应用程序中,对应的连接库是WS2_32.lib库。代码如下:

#include <winsock2.h>

#pragma comment (lib,"ws2_32.lib")

开始初始化Winsock库,调用WSAstartup(

int WSAStartup(

  WORD wVersionRequested,   //Winsock库的版本号,可以用MAKEWOR(2,2)

  LPWSADATA lpWSAData      //一个加载库版本的有关信息

);

在使用Winsock接口编好程序后应该调用WSACleanup函数,这个函数主要释放所有由Winsock分配的资源,并取消这个应用程序挂起的Winsock调用。

int WSACleanup(void);
现在就可以写个简单的Winsock网络程序框架了:

#include <cstdlib>

#include <iostream>

#include <Winsock2.h>

#pragma comment(lib,"ws2_32.lib")

using namespace std;

 

int main(int argc, char *argv[])

{

    WSADATA wsaData;

    //初始化Winsock版本2.2

    int ret = WSAStartup(MAKEWORD(2,2),&wsaData);

    if(ret != 0)

    {

        //注意:因为Winsock没有加载,所以我们不能使用WSAGetLastError

       //来确定导致故障的特定错误。我们只能根据返回状态判断

       cout<<"WSAStartup failed with error "<<ret<<endl;

       WSACleanup();

       return 0;

    }

    //这里就是我们创建socket要连接或者监听代码了

    //......

    //如果程序结束调用 WSACleanup

    WSACleanup();

    system("PAUSE");

    return EXIT_SUCCESS;

}

评论 2 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

wangweixing2000

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值