오후 1:36 00-01-31
UDP 소켓 다루기
조경민 bro@shinbiro.com
----------------------------------------------------------------------

UDP로 비연결 지향적인 소켓
- 메세지의 양이 적을 경우
- 부하를 줄이고 싶을때
- 패킷이 스트림이 아닌 도중에 무시되도 되는 경우

[Server Side]

일딴 CAsyncSocket을 Derived한 CUDPSocket을 맴버로 갖은 m_Server를 둔다.

void CTestUDPServerDlg::OnButton1()
{
    // TODO: Add your control notification handler code here
    if( m_Server.Create( 6501, SOCK_DGRAM ) ) // 나의 포트
        TRACE("Create Listen.....\n");
}

이렇게 하면 그냥 리슨상태이다 -_-;

데이타를 받으려면 다음처럼 하면된다.
void CUDPServer::OnReceive(int nErrorCode)
{
        // TODO: Add your specialized code here and/or call the base class
        CString ip;
        UINT        port;
        char sBuf[10];
        ReceiveFrom(sBuf, 10, ip,port);
        TRACE("[%s] %d : %s",ip,port, sBuf );
        CAsyncSocket::OnReceive(nErrorCode);
}


[Client Side]

서버에 메세지 보내기 넘 간단하다 -_-

CAsyncSocket socket;
Socket.Create(6502, SOCK_DGRAM);        // 나의 포트
socket.SendTo( "hello...",8, 6501, "210.126.35.31"); // 상대편 포트, IP

'KB > MFC/Win32' 카테고리의 다른 글

ListCtrl KnowHow  (0) 2004.03.19
다이얼로그 비활성화 되었을때 그냥 숨기기  (0) 2004.03.19
#pragma  (0) 2004.03.19
AUTOMATION 자동화  (0) 2004.03.19
ATLCOM 객체에서 두번째 스레드에서 Fire하기 에러  (0) 2004.03.19

+ Recent posts