슈퍼소켓(SuperSocket)을 테스트 하다보니 예상하지 못한 문제가 몇 가지 있네요 ㅎㅎㅎㅎ 여러 문제 중 클라이언트에서는 데이터를 전송했는데 서버에서 반응이 없는 경우를 알아봅시다. 0. 문제의 확인 클라이언트에서 데이터를 보내 봅시다. 서버에서 접속되었다는 메시지가 잘 출력되는 것으로 보아 서버에 접속은 됐습니다. 그런데 메시지를 보내면..
저도 .Net을 초기버전부터 사용하던 사람이라 초기에 만든 'Client/Server'프로그램을 계속 고쳐서 사용했습니다. 그런데 이번에 슈퍼소켓을 사용하여 서버를 다시 만들려고 자료를 찾다 보니 '.Net 3.5' 부터는 'SocketAsyncEventArgs'를 사용하라고 권장하는 군요. 그래서 샘플을 찾는데.....원하는 셈플이 없어서 하나 만들었습니다. (참고 : 'SocketAsyncEventArgs'를 이용한 채팅(Ch..
흠.... 제목이 좀 이상한데....엄밀이 말해서 런타임에 컴파일을 하는 게 아니고 닷넷 프로그램을 이용하여 닷넷을 컴파일하는 것을 말합니다. 일종의 컴파일러를 만드는 것을 의미합니다. 다행히도 닷넷에서는 컴파일을 위한 api를 제공하기 때문에 손쉽게 이런 컴파일러를 만들 수 있죠. 그럼 이런 컴파일러를 왜 만들어야 하는가? 라는 질문을 하게 되는데.... 이건 이 포스팅의 마지막에 다루겠습니다. &..
일반적으로 "dll"은 개발단계에서 참조를 통해 연결하여 사용합니다. 하지만 여러 가지 상황에 따라서 동적로드를 해야 하는 경우가 있죠. 대표적인 경우가 국가나 언어, 운영체제 등에 따라 다른 dll을 써야 하는 경우라던가 동적으로 생성된 dll을 참조해야 하는 경우라던가... 물론 설계의도에 따라 많이 달라지니 꼭 필요하다고는 볼 수 없습니다 ㅎㅎㅎ 어찌 됐건 동적으로 DLL을 로드하여 사용하는 방법을 알아봅시다.  ..
합성컨트롤은 '유저 커스텀 컨트롤'과는 달리 dll형태로 만들어저 재사용이 쉽다는 장점이 있습니다. 예전엔 '유저 제작 컨트롤'같은 이름이였던거 같은데 기능이 바뀐건지 처음 듣는 이름이네요 ㅡ.-;; 계념상으로는 기존의 컨트롤들을 재조합 하여 만들기 때문에 이런 이름을 붙인것 같습니다. 간만에 그림하나 없는 MSDN의 샘플이 아무런 작업없이 잘돌아간것 같네요 ㅋㅋㅋㅋ 그래서 MSDN의 셈플을 그대로 따라가도록 하겠습니다..
Open CV사용하는 이유중에 하나인 웹캠을 이용하기 위해서 입니다. 다른 방법도 있습니다만 크로스플랫폼(Cross Platform)을 생각한다면 OpenCV를 빼고 가기 힘들죠 ㅎㅎ OpenCV를 닷넷으로 랩핑한 'OpenCVSharp'을 이용하여 웹캠에서 이미지를 받아오겠습니다. 1. 프로젝트 생성 윈폼 프로젝트를 생성합니다. 이전글을 참고하여 프로젝트에 DL..
웹캠의 영상처리를 위해 자료를 찾아보니 윈도우에서는 다이렉트쇼(DirectShow)를 이용하더군요. 그런데 모노프로젝트를 이용하여 멀티플랫폼을 구성할 예정이라 다이랙트X(Direct X)는 사용할수 없습니다. 그래서 검색해보니 오픈CV(Open CV)를 모노용으로 만들어 쓰라고 하는군요. 언제나 이런문제는 귀찬기 마련이죠 ㅎㅎㅎ 그리고 다행히 누군가 프로젝트를 진행하고 있습니다. Emgu CV - OpenCV i..
왜 그런지는 모르겠지만지만 함수는 '원 리턴(One Return)'이 원칙입니다.(아마도 함수리턴값을 바로 사용하는 기능때문 인것 같네요.) 그래서 여러값을 받고 싶으면 C는 포인터를 이용하고 객체지향언어에서는 클래스(class, 모듈(Model)도 여기에 해당한다.)를 리턴 받는 방법으로 여러값을 받습니다. 언어에 따라 '파라메타 아웃풋(Parameter Output)' 같은 것을 지원 할수도 있습니다. e..
간만에 웹서비스를 써야 되서 WCF파일을 추가하고 서비스 참조를 했는데..... 어라? 이전과 달리 '[메서드이름]Completed'도 안보이고 멍미;;;; 예전에 실버라이트에서 한번 다뤘던거라 이전글을 확인해도 모양이 이상합니다;;; (참고 : [Silverlight] 1/4. 한 프로젝트에서 웹서비스 만들기) 어찌어찌 겨우 다시 찾았으니 정리해 둡니다 ㅎㅎㅎ &..
wcf가 예전에 사용하던 방식과 달라 이것저것 테스트 하다가 간만에 뜬 에러 크로스 스레드 작업이 잘못되었습니다. 아.... 예전에 WPF에서 한번 소개 하긴 했었습니다만 윈폼에서는 약간다르죠. (참고 : [WPF] 다른 쓰레드에서 UI쓰레드 접근하기 - Dispatcher.Invoke) 1. 일반적인 방법 일반적으로 인보크(Invoke)를 사용하려면 델리게이트(Delegate)를 만들..