오후 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
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 |