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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值