C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[15830] Re:캬캬 동훈님아 몇가지 물어볼게여...
Dante H [h64d5791] 907 읽음    2002-02-26 16:45
으음.. 안녕하세요 에보니님. 흐흐흐

일단 IOCP를 만드는건 COM으로 제작이 가능합니다.

저 역시 지금 DHSocket Lib 라고 해서 Overlapped IO만을 사용해서 만든 소켓 라이브러리를

COM으로 제작하고 있고요..

이렇게 COM 으로 제작하면 어디든 붙여서 사용할 수 있겠죠?

그럼 이만

에보니.^ㅅ^ 님이 쓰신 글 :
: Dante H 님이 쓰신 글 :
: : 안녕하세요 단테입니다.
: :
: : 일단 간단히 질문에 답변을 드리자면 다음과 같습니다.
: :
: : AnsiString의 최대 용량은 저도 잘 모르겠고 (테스트 해본적도 없습니다. ㅜ.ㅜ)
: :
: : 가장 간단한게 받은것을 파일로 저장하는 방법은 ReceiveText로 받은 AnsiString을
: :
: : FILE 형에 넣어서 직접 파일을 만드는것입니다.
: :
: : 다른 방법으로는 조금 꽁수의 느낌이 들지만 TStringList를 이용해서 SaveToFile 메소드를
: :
: : 사용해서 저장하는 방식입니다. (왠만하면 위의 것을 추천드리고 싶군요)
: :
: : 그리고 저도 처음 TWinSocketStream 클래스를 들어봤는데, 여하튼 헬프를 해석해 보니 간단히
: :
: : 구현된 블로킹 소켓이더군요..
: :
: : 일단 간단히 설명을 드리자면 Winsocket에서는 몇가지 방식이 있는데 그 중에 있는 방식이
: :
: : 블러킹 소켓입니다.
: :
: : 아래가 현재 윈도우에서 존재하는 소켓의 방식입니다.
: :
: : 1. Blocking Mode
: :
: : 하나의 소켓 IO를 완전히 이루어질때까지 블로킹 즉 다른 작업을 하지 못하게 됩니다. 작업에 대한 핸들링은 편리하지만, 한 작업마다 다른 스레드를 만들어야 하는 단점이 있습니다.
: :
: : 2. Non-Blocking Mode
: :
: : 블로킹 모드와 달리 작업이 완전히 끝나기를 기다리지 않고 다음 문장을 실행합니다. 그러나 단점은 작업이 끝났는지 안끝났는지를 수동으로 체크를 해 주어야 합니다. 그러므로 작업 체크를 위한 불필요한 오버헤드가 있습니다.
: :
: : 3. Async(비동기) Mode
: :
: : 유닉스 계열 OS에는 없는 방식으로 윈도우 메시지를 기반으로 소켓 작업을 처리합니다. 이 방식은 윈도우 환경에서 가장 퍼모먼스가 좋다고 알려져 있습니다.
: :
: : 4. Overlapped IO
: :
: : Win32에서 제공하는 Overlapped IO를 소켓에도 적용하는것으로 현 윈도우 환경에서 최상의 성능을 보여줍니다. 하지만 이용하기 까다롭고 자료가 찾기 어렵습니다. 간단히 설명을 드리자면 해당 IO를 시작하고 바로 IO가 끝나지 않으면 OS가 알아서 나머지 작업을 처리해 주고 프로그램에서는 그 IO의 완료를 OS에게 직접 통보받는 방식입니다. 이런 Overlapped IO를 쓰는 방법은 3가지가 있는데
: : IOCP를 이용하는 방법, CallBack 함수를 이용하는 방법, Overlapped 구조체의 hEvent를 쓰는 방법이 있습니다. IOCP의 경우는 Windows NT 계열에서만 사용이 가능한 서버용 구조고, 나머지의 경우는 아무곳에서나 사용할 수 있습니다.
:
:
: ===> nt/2000 환경 기반의 서버를 iocp 방식으로 맹글때 꼭 exe 형식이어야 하나여?
:
: 음 볼랜드포럼 어선가 본 기억이 나는데 테스트용이요 그건 exe 이더라구요?
:
: 아마도 서비스 프로그램이어서 그렇겠져?
:
: 음 COM 형식의 DLL은 될 순 없을까여?
:
: 복잡한 하위구조는 모두 os나 ATL, COM+에게 맡기고 코드만 작성할 순 없을까?
:
: 그럼 허접질문이었슴다.... =ㅅ=;;
:
: :
: : 대략 설명은 된것 같군요..
: :
: : 그럼 도움이 되셨길..
:
: 아아 도움이 모자라~~~ =ㅅ=;;

+ -

관련 글 리스트
15806 소켓의 대한 몇가지 질문. 모라 857 2002/02/26
15808     Re:소켓의 대한 몇가지 질문. Dante H 1039 2002/02/26
15828         캬캬 동훈님아 몇가지 물어볼게여... 에보니.^ㅅ^ 855 2002/02/26
15830             Re:캬캬 동훈님아 몇가지 물어볼게여... Dante H 907 2002/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.