Windowsプラットフォームのマルチプロセスベースechoサーバのシンプルな実装


ここのEchoサーバは,クライアントが何を送信するか,サーバ側がすぐに何を返すかということである.1つの一般的な実装はマルチスレッドベースであり、linux上でforkでマルチプロセスのサーバを容易に実現することができる.
Windowsプラットフォームでechoサーバをマルチプロセスで実装する方法を説明します.
/*
 *  @file  : TestEchoServerMultiProcess.cpp
 *  @author: Shilyx
 *  @date  : 2014-04-23 08:43:27.206
 *  @note  : Generated by SlxTemplates,    echo     
 */

#include 
#include 
#include 
#pragma warning(disable: 4786)
#include 

#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "Shlwapi.lib")

using namespace std;

//    WinSock,      
void InitWinSock()
{
    WSADATA wd;

    WSAStartup(MAKEWORD(2, 2), &wd);
}

void Serve(USHORT port)
{
    InitWinSock();

    SOCKET sock_base = INVALID_SOCKET;

    do
    {
        sock_base = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

        if (sock_base == INVALID_SOCKET)
        {
            cerr< 65535)
        {
            cerr<