본문 바로가기

Robotics/Software Tech.

(148)
네트워크 영상/음성 전송 프로그램 로컬 네트워크를 통해 영상과 음성을 송수신 할 수있는 소프트웨어를 구하다가 마이크로소프트에서 찾을 수 있었다. Skepe도 아주 좋은 성능을 가진 네트워크 영상/전송 프로그램이지만, 인터넷에 연결되어 있어야하고 로그인이 필요하다는 단점이 있다.( 사실 이것이 서비스로 연계된다면 단점이 아니라 장점일 수 있다.) 하지만, 내가 찾는것은 로컬 네트워크에서도 가능한 프로그램을 찾는것이 목표였는데.. 이처럼 반가울 수가 없다.ㅋㅋ 바로 Microsoft Portrait이다. PC버젼은 2.3버젼까지 나와있고 모바일 플랫폼에 탑재될 수 있는건 3.1까지 나와있다. 중요한거 또하나.. 모바일 플랫폼과 연동이 될 수 있다는거.. pda또는 스마트폰이 될것이다. 아무튼, 관련 사이트는 아래.. http://resear..
LAN을 위한 소켓 프로그래밍 #2 2.소켓 프로그래밍 클래스 CAsyncSocket CAsyncSocket는 MFC로 소켓프로그래밍을 할때 가장 베이스 형태의 클래스입니다. 이클래스를 이용하여 소켓 프로그램을 작성할수가 있습니다. CAsyncSocket로 소켓 프로그래밍을 하는 방법은 그렇게 어렵지 않습니다. (과거 SDK로 프로그램 할때에 비해서) 본항목에서는 CAsyncSocket를 이용하여 소켓 프로그램을 작성하는 방법을 보겠습니다. CAsyncSocket을 이용하여 서버를 만들고 클라이언트를 만드는 OverView 서버는 소켓이 두 개 필요하고 클라이언트에서는 한 개만 필요합니다. 서버 영역에서 보면 제일 먼저 CAsyncSocket이라는 pSocket을 하나 설정합니다. 서버는 바로 정보를 제공하는 쪽입니다. 즉 “나는 이런 정..
LAN을 위한 소켓 프로그래밍 #1 LAN을 위한 소켓 프로그래밍 LAN에 연결된 서로 다른 컴퓨터에서 데이터를 전송하고 데이터를 받는 소켓 프로그램을 구현해 보겠습니다. WIN32를 이용하여 소켓 프로그램을 만들 때는 다소 복잡하던 것이 MFC의 CAsyncSocket이 만들어짐으로써 매우 간단하게 구현할 수 있게 되었습니다. 윈도우에서 네트워킹을 할 수 있도록 하는 방법 중에 소켓이 가장 많이 활성화되어 있는 방법입니다. 이 방법을 익히고 나서 그 외 통신 프로토콜에 대하여 공부하면 많은 도움이 될 것 같습니다. 1.소켓 소켓(Socket)으로 데이터를 전송하고 데이터를 받는 데는 2가지 방법이 있습니다. Stream Socket 방법과 Datagram Socket 방법입니다. Stream Socket 연결 방법은 서버가 실행되면서 클..
[MFC]Log파일 만들기 프로그램을 실행시킨 후, 특정 프로세스의 결과를 로그파일로 남겨두고 싶은때가 분명 생긴다. 이때, 아래와 같은 코드로 Log를 남겨, 프로세싱 결과를 살펴볼 수 있다. CXXApp 클래스 내부 함수로 정의하자. char szFile[MAX_PATH]={0,}; char szPath[MAX_PATH]={0,}; char* pszPos= NULL; GetModuleFileName(NULL, szPath, MAX_PATH); pszPos = strrchr(szPath, '\\'); *pszPos = NULL; sprintf( szPath, "%s\\Log",szPath); CreateDirectory( szPath, NULL ); sprintf( szPath, "%s\\%s", szPath,m_pszExeNa..
for문의 스코프 문제 잘은 모르겠지만, for문의 변수 범위에 대한 문제인것 같네요. MFC에서 for문을 돌릴때 말이죠.. for(int i=0;i
Visual Studio 2005 msdn 사이트 http://msdn2.microsoft.com/ko-kr/library/60k1461a(VS.80).aspx
MFC 샘플 소스코드 MFC 샘플 다음 표에서는 Visual C++에 포함된 MFC 샘플을 사전순으로 보여 줍니다. 단원 내용 ACDUAL 샘플: 자동화 응용 프로그램에 이중 인터페이스 추가 MFC 기반 자동화 서버에 이중 인터페이스 지원 기능을 추가하는 방법을 보여 줍니다. AUTOCLIK 샘플: 자동화 서버 응용 프로그램 자동화 기능에 대해 설명합니다. AUTOCLIK 샘플 응용 프로그램을 실행하는 간단한 자동화 클라이언트 응용 프로그램인 AUTODRIV를 포함합니다. BUTTON 샘플: 메뉴 및 속성 페이지 설명 내부 활성 메뉴, 스톡 속성 페이지 및 정보 상자 컨트롤 옵션의 사용을 보여 줍니다. CALCDRIV 샘플: 자동화 클라이언트 응용 프로그램 설명 자동화 클라이언트입니다. CIRC 샘플: ActiveX 컨트롤 ..
메세지 펌프(Message Pump) 메시지 펌프(Message Pump) 다중 스레딩에 대해 가질 수 있는 일반적인 오해는 그것이 응용 프로그램을 더 빠르게 한다는 겁니다. 사실은 그렇지 않고, 응용 프로그램의 반응을 더 빠르게 하는 것이죠. 다중 스레딩과 단일 스레딩이 반응 능력이 차이가 난다는 것에 대한 예를 들어보죠. for문이나 while문 같은 루프에 의해 수천개의 타원형을 그리는 응용프로그램이 하나 있습니다. 단일 스레딩이라면 그림을 그리는 루프가 끝날 때까지 다른 입력을 받을 수 없을 겁니다. 그 이유는 루프가 돌아가는 동안 메시지는 보내지지만, 그리기를 수행하는 1차 스레a드가 메시지 대기열을 검사하지 않기 때문이죠. 만약 다중 스레딩을 사용해서 그리기를 별도의 스레드에서 수행한다면, 그리기 루프가 실행되는 동안 사용자 입력..