Guestbook

  • 2014.10.23 17:20 EDIT/DEL REPLY

    비밀댓글입니다

    • 흥배 2014.10.25 13:32 신고 EDIT/DEL

      if (nPacketData > 0)
      {
      char TempBuffer[MAX_RECEIVE_BUFFER_LEN] = { 0, };
      memcpy(&TempBuffer[0], &m_PacketBuffer[nReadData], nPacketData);
      memcpy(&m_PacketBuffer[0], &TempBuffer[0], nPacketData);
      }

      m_nPacketBufferMark = nPacketData;

      에서 nPacketData가 만약 5라고 하면 남은 부분을 모두 버퍼 제일앞으로 복사하고,
      m_nPacketBufferMark를 5로 설정해서 m_PacketBuffer에 다음에 네트워크로 데이터를 받으면 m_PacketBuffer[5]에서 부터 저장 하도록 합니다.

      이후 네트워크로 어떤 데이터를 받아서 m_PacketBuffer를 읽을 때는
      무조건 버퍼의 제일 처름부터 읽도록 합니다.
      nt nReadData = 0;

      m_PacketBuffer 데이터를 처음부터 시작해서 처리할 수 있을 때까지 다 처리합니다.
      int nPacketData = m_nPacketBufferMark + bytes_transferred;
      int nReadData = 0;

      while (nPacketData > 0)
      {
      ....
      }

      이렇게 해서 버퍼에 데이터를 다 처리합니다

  • 크로스21 2014.10.01 10:17 신고 EDIT/DEL REPLY

    덧글의 덧글을 다는 방법이 없네요 ^^;;
    좋은 답변 감사드립니다!

  • 크로스21 2014.10.01 10:17 신고 EDIT/DEL REPLY

    덧글의 덧글을 다는 방법이 없네요 ^^;;
    좋은 답변 감사드립니다!

  • 크로스21 2014.09.21 21:13 신고 EDIT/DEL REPLY

    안녕하세요. 언제나 흥배님의 블로그에서 좋은정보 잘 얻어가고 있습니다.
    다름이 아니라 주말에 심심해서 저번에 소개해주신 NLog에 대해 조금 알아봤는데요
    NLog는 C++프로그램에서는 사용할수 없는지요? NLogC.h라는 검색어도 종종 나옵니다만 어디에 그 파일이 있는지 알 수가 없네요.
    만약 아신다면 답글 부탁드리고요 언제나 좋은 글 감사합니다.

    • 흥배 2014.09.30 12:43 신고 EDIT/DEL

      안녕하세요^^
      제가 알기로는 NLog의 C++ 버전은 없는 걸로 알고 있습니다.

      제 생각에는 C++에서 로그는 log4c++, glog, Boost.Log(Boost 라이브러리에 있는 로그), POCO.Log(POCO 라이브러리에 있는 로그) 중에서 하는 사용하는 것을 추천합니다.