1.功能
windows下实现socket的简易服务器开发,接收来自于客户端的连接和业务请求,并给出响应。
2.原理
当然在进行socket编程时,要首先初始化socket环境
//初始化winsock环境
WSAData wsa_data;
WORD ver =MAKEWORD(2, 2);
if(WSAStartup(ver, &wsa_data) != 0)
{
std::cout << "初始化winsock环境失败" << std::endl;
return -1;
}
对应的清理socket环境
WSACleanup();
3.服务器实现
实现一个同步服务器,通过winsock2和ws2_32.lib,利用boost::threadgroup(线程池)实现较为高效的处理,阻塞模式,主线程负责接收客户端的连接请求,子线程负责socket业务通信
#include "stdafx.h"
#include <WinSock2.h>
#include <iostream>
#include <MSTCPiP.h>
//#define BOOST_ALL_DYN_LINK //使用动态库链接
#include <boost/thread.hpp>
#include <boost/bind.hpp>
#incl