https://balabala.tistory.com/45?category=947457
[MFC] 채팅 프로그램 - 클라이언트 (2/3)
- 설명 - 프로젝트 명 : ChatClient(대화 상자) ① CSocket 클래스 이용 : 동기식(블로킹)으로 동작 ② 서버 클라이언트 1:1 통신 ③ 해당 글은 클라이언트 채팅 프로그램 만드는 법 설명 1. MFC 애플리케이
balabala.tistory.com
[따라하다가 안되던 부분들]
2. 다이얼로그 디자인 및 ID
형식을 CString 으로 하니 에러가 나서 CEdit, CStatic으로 변경했다.
Control을 다루는 부분도 형식에 따라서 변경했다.
7. [접속] 및 [전송] 버튼 클릭 메시지 함수 작업
위 작업대로 형식에 맞게 메세지 함수 소스 코드 수정
void CChatClientDlg::OnBnClickedButtonConnect()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
CString strIP;
UpdateData(TRUE);
m_socCom.Create();
m_strIP.GetWindowText(strIP);
// IP 주소와 포트 번호를 지정
m_socCom.Connect(strIP, 5000);
m_socCom.Init(this->m_hWnd);
}
void CChatClientDlg::OnBnClickedButtonSend()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
char pTmp[256];
CString strTmp, strText;
CStringA strTextA;
m_strSend.GetWindowText(strText);
strTextA = CStringA(strText);
// pTmp에 전송할 데이터 입력
memset(pTmp, '\0', 256);
memcpy(pTmp, strTextA.GetBuffer(), strTextA.GetLength());
m_strSend.Clear();
// 전송
m_socCom.Send(pTmp, 256);
// 전송한 데이터도 리스트박스에 보여준다.
strTmp = pTmp;
int i = m_list.GetCount();
m_list.InsertString(i, strTmp);
UpdateData(FALSE);
}
'Study > MFC' 카테고리의 다른 글
[MFC] sleep(0)와 sleep(1)의 차이점 (0) | 2022.01.13 |
---|---|
[MFC] MoveWindow - 컨트롤 위치 및 크기 변경 (0) | 2021.12.10 |
[MFC] Edit Control (0) | 2021.12.08 |
[MFC] 소켓통신(TCP/IP) 채팅프로그램 만들기 - 서버 (0) | 2021.12.08 |
[MFC] GDI+를 이용한 더블 버퍼링 (0) | 2021.12.02 |