在C++中使用winsock2.h创建socket比较复杂,所以说写了一个class对这个过程进行封装
#include<stdio.h>
#include <WinSock2.h>
#pragma comment(lib, "WS2_32.lib")
#pragma warning(disable : 4996)
int WSAAPI WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);
class connect{
public:
WSADATA wsaData;
WORD wVersionRequested;
SOCKET socket;
connect() {
wVersionRequested= MAKEWORD(2, 2);
WSAStartup(wVersionRequested, &wsaData);
socket = socket(AF_INET, SOCK_STREAM, 0);
}
};
类的名称为connect,调用类之后会初始化得到一个socket的对象
在使用是可用class connect ****创建类,再用*****.socket访问创建的socket对象
例如:
class connect con;\\创建套接字
SOCKADDR_IN addrserv;
addrserv.sin_family = AF_INET;\\设置为TCP协议
addrserv.sin_port = htons(111);\\设置端口
addrserv.sin_addr.S_un.S_addr = ADDR_ANY;\\设置ip
bind(con.socket, (sockaddr*)&addrserv, sizeof(sockaddr));\\绑定套接字和IP,端口
listen(con.socket, 2);\\开始监听