Socket编程基础——面向连接TCP
WinSock是Windows环境下的网络编程接口,它最初是基于Unix环境下的BSD Socket,是一个与网络协议无关的编程接口。WinSock包含两个主要版本,即WinSock1和WinSock2,在vs2010环境下,通常使用WinSock 2.2实现网络通信的功能。
1、Socket接口启动
需要引入头文件winsock2.h
及库文件ws2_32.lib
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
WSADATA wsadata;
if(WSAStartup(MAKEWORD(2,2),&wsadata)!=0)
{
cout<<"Init error"<<endl;
return -1;
}
WSAStartup
函数原型如下:int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData)
(1)wVersionRequested
:Socket接口版本号,例如2.2版本(MAKEWORD(2,2)
),高位字节存储副版本号,低位字节存储主版本号;
(2)lpWSAData
:指向WSADATA
结构体的指针,WSADATA
结构体返回Socket信息;
如果上面函数执行成功,则返回0,否则可以通过WSAGetLastError()
查看错误代码。例如:WSAEINVAL
表示指定的Windows Socket版本不被该DLL支持。