MFC, CSorcket를 이용한 서버-클라이언트 만들기

문제
클라이언트에서 서버로 데이터를 송신시 무조건 첫번째는 송신 성공,
그 다음부터 송신이 원할하지 않습니다.
무엇를 건드리면 좋을지 팁 부탁드립니다.
버튼클릭시 송신 이벤트 발생
//송신할 메시지 저장
//CData는 CObject를 상속받음
CData data;
data.m_strData = strMsg;
//송신
//m_DataSocket는 CSocket을 상속받음
m_DataSocket << data;
위의 코드는 아래의 순서로 흐릅니다.
두 소켓의 연결은 끊어지지 않은 것으로 추측됩니다.
(연결이 끊어지면 이벤트를 발생하게 만들었기에, 연결이 안 끊겼다고 추측됩니다.)
1)
void CDataSocket::operator <<(CData& data)
{
Send(&data);
}
2)
void CDataSocket::Send(CData* pData)
{
if(m_pArchiveOut != NULL)
pData -> Serialize(*m_pArchiveOut);
}
3)
void CData::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
//네트워크로 송신
ar << m_strData;
}
else
{
//네트워크에서 수신
ar >> m_strData;
}
}
코드는 아래의 주소에 CSocket Ex.zip에 포함되었습니다.
https://drive.google.com/drive/folders/0B43I2Q9ErCTWajgwdjdxNDRIX2M?usp=sharing
감사합니다.
참고해보세요.
코드 프로젝트 / 데브피아 / 네이버 책 - 실행 잘되는 예제소스 참고해보세요.
https://www.codeproject.com/search.aspx?q=CSocket&x=0&y=0&sbo=kw
http://search.devpia.com/MAEULResult.aspx?KeyW=CSocket&keyr=title&boardID=278&MAEULNo=20
http://search.devpia.com/MAEULResult.aspx?KeyW=CSocket&keyr=title&BoardID=51&MAEULNo=20
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=CSocket
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기