지금 서버와 클라이언트 채팅을 만들고 있는데요

이게 처음에 클라이언트에서 메시지를 보내면 서버에서 데이터를 받고 보내주는 형식으로 만들고 싶었는데요

둘다 처음에는 잘 주고 받는데 두번째부터는 서버는 에코(말 되돌려주는)기능만 해주고 아무것도 안 나오네요

그 결과 클라이언트에서 메시지를 보내면 그대로 바로 돌아오고요

밑에꺼가 서버부분 연결요청&메시지 송수신 받는 부분인데요

뭐가 문제인지 한번만 봐주시면 감사하겠습니다 ㅜㅜ

while(1)
    {
        ClntAddrSize=sizeof(ClntAddr);
        hClntSock = accept(hServSock, (SOCKADDR*)&ClntAddr, &ClntAddrSize); /* 클라이언트 연결요청 수락 */
        if(hClntSock==INVALID_SOCKET)
        {
            ErrorHandling(\"hClntSock1 accept() error\");
            break;
        }

        strLen=recv(hClntSock, message, BUFSIZE-1, 0); /* 수신 */
        message[strLen]=0;
        printf(\"클라이언트로부터 전송된 메시지 : %s \\n\", message);

        fputs(\"전송할 메시지를 입력하세요 (q to quit) : \", stdout);
        fgets(message, BUFSIZE, stdin); /* 전송할 데이터 입력 */

        if(!strcmp(message, \"q\\n\"))
            break;
        send(hClntSock, message, strlen(message), 0); /* 송신 */

        closesocket(hClntSock);
    }



리눅스에는 프로세스를 하나 복사해서 입력이랑 출력을 따로 나눌 수 있는데

윈도우도 파이프를 생성할 수 있나요?