본문 바로가기
반응형

C & C++/MFC Network20

[MFC] HTTP 소켓 통신 HTTP 소켓 통신이란 즉 웹서버(IIS,Apache등)과 소켓 통신을 하는 예제를 보여주는 것입니다. 소스코드를 첨부했으므로 이해하기는 쉬울것입니다. 만약에 보시고 이해가 안되시면 aiwisdom@gmail.com으로 문의 주십시오. 코드는 약 3년전에 만든것이어서 코딩 스타일이 매우 안좋습니다. 그냥 이렇게 만드는구나 하고 소스코드를 읽어 주십시오^^;;; 1.만든 목적 웹서버와 HTTP 프로토콜로 통신 해야 할 경우가 있다. 가장 보편적인 예는 웹서버로부터 파일을 다운 받아야 할 경우 일 것이다. 그래서 Http Dll을 만들었다. 제목을 보면 알 수 있듯이 MFC Class CInternetSession을 이용했다. 물론 참조문서 윈도우 프로그램의 바이블인 MSDN이다. 소스코드를 보면 CLoad.. 2011. 4. 23.
[IP] Lan Card 정보 추출 void CTestDlg::OnButton1() { CString LocalAdap; CString LocalMac; CString LocalIP; CString LocalSub; CString LocalGate; PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; BOOL m_bBreak = FALSE; pAdapterInfo = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO)); unsigned long ulOutBufLen = sizeof(IP_ADAPTER_INFO); if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) != .. 2011. 4. 18.
[IP] IE BHO 전용 브라우져 시 새창 띄울때 IE모양 바꾸기~ 전용 브라우져를 만들고 새창을 띄울수 있습니다. 전용 브라우져로 띄우지 않고 일반 IE로도 연결 가능합니다. 그때 일반 IE의 스타일을 변경코져 할때 사용하는 방법입니다. 스타일은 여러가지 이기 때문에 MSDN을 참조 해주시면 더욱 자세한 사항을 아실수가 있습니다. 지금은 제가 필요한 부분만 코딩한 거라서 ~~ ^^ 참조만 부탁 드리겠습니다. 일단 리소스 뷰에서 ocx 웹컨트롤을 선택하시고 ~ 새창이 열릴때의 이벤트가 NewWindow2Explorer1 입니다. 그곳에서 정의를 해주면 새창이 열릴때 그 스타일 대로 MS IE가 띄어지게 됩니다. void CXXXXXDlg::NewWindow2Explorer1(LPDISPATCH* ppDisp, BOOL* Cancel) { IWebBrowser2 *pIE .. 2011. 4. 18.
[IP] 인터넷 임시파일 삭제 참고자료 : http://support.microsoft.com/default.aspx?scid=kb%3Bko%3B262110 WinInet API FindFirstURLCacheEntry()로 첫번째 캐시 항목을 찾고 FindNextUrlCacheEntry()로 캐시 전체를 나열. DeleteUrlCacheGroup()로 각 항목 삭제 ->얘들은 explorer 5이상만 사용->오류 방지 우선 wininet.lib 파일을 Link 해 주시구요. 다음 소스 코드를 참고해 주세요. GetUrlCacheEntryInfo(..) FindFirstUrlCacheEntry(..) DeleteUrlCacheEntry(..) 참조 #include // 지우고 싶지 않은 파일을 명시할 수 있습니다. // 다음 코드에서.. 2011. 4. 14.
[IP] Web Page 다운로드 웹페이지를 다운로드 받아야 하는 분들이 계실지도 몰라 경험담 올릴께요. 2번 방식은 단순히 해당 사이트의 페이지를 다운로드 받는다. 하지만 해당 페이지가 캐쉬에 남아 인터넷 익스플러어로 해당 페이지를 다시읽기전까지는 자신의 캐쉬에서 페이지를 가져온다는 점이 있다. 때문에 2번 방식으로 사용할 경우 정확히 현재의(!!) 페이지를 가져오는 것이 아니다. 페이지가 수시로 바뀔 경우 우리가 인터넷 익스플로어로 페이지를 열기전까지 가장 최근에 열었던 그 때(!)의 페이지를 캐쉬에서 가지고 온다.(전 이것 때문에 버그잡느라고 하루종일 OTL...) 따라서 실제 해당 주소의 페이지를 가져오고자 할 경우 1번을 사용하는 것을 추천합니다. (물론 2번을 사용하기전에 캐쉬를 지우는 방법도 가능합니다.) /*********.. 2011. 4. 14.
[IP] 자신의 IP 얻어오기 다수의 아이피(IP)를 가지고 있는 경우 자신의 아이피(IP) 주소 목록을 얻는 프로그램입니다. 아래와 같이 winsock의 gethostname(), gethostbyname()을 이용하면 아이피 목록을 쉽게 알아낼 수 있습니다. 핵심코드:코드 참고 : http://www.debuglab.com/knowledge/getip.html void GetMyIPArray( CArray& raIP ) { WSADATA WsaData; if( WSAStartup( 0x202, &WsaData ) == SOCKET_ERROR ) return; char name[256]; PHOSTENT pHostInfo; struct sockaddr_in addr; // 자신의 호스트이름 얻기.. 2011. 3. 27.
반응형