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
[40037] 인디 UDP 를 쓰는데 좀 이상한 부분이 있네요.
박종일 [always97] 872 읽음    2005-05-02 21:32
글 읽어주셔서 감사합니다.

현재 상태는 서버 대 서버상황으로 봐야 할거 같습니다.
(A) 라는 서버에서 여러대의 클라이언트에게 명령을 전송하면 그걸 받아서 결과를 다시 서버로 날려줘야합니다.
이럴때 인디컴퍼넌트에서는 어떻게 구성하는게 좋을지 알려주시면 감사하겠습니다.

문제는 인디를 쓰면서 메세지 전송이 한번 발생한 후에는 프로그램이 종료해도 netstat 해서보면
포트가 바인딩되어서 풀리지 않습니다.
물론 일반 어플리케이션으로 작성하면 되더라구요.
문제는 백그라운드로 돌다가 작업관리자를 통해서 프로세서를 죽였을 경우에 포트가 바인딩된 상태로
남아있습니다.  이럴때에는 프로그램을 다시 실행시켜도 포트가 이미 사용중이라면서. 작동하지 않습니다.

프로그램에서는 onClose 와 CloseQuery 및 Destroy 에서 Binding->CloseSocket(true) 도 해보았구요.
UDP->active = false 로도 해봤습니다.

어디가 문제일까요..
현재 서버랑 각각의 클라이언트는 .. 서버는 FastNet 의 NMUDP 로 되어있구요.
클라이언트만 Indy 의 TIdUDPServer 로 되어있습니다.

클라이언트에서 NMUDP의 예쩐버전이 NT 의 시스템종료 메세지에서 버그가 있다고 해서 인디로 바꿔봤습니다.
둘다 인디로 바꾸고 싶긴한데..  서버측에서 일일히 한대씩 명령보내고 응답 받는건. .방법이 아닌거 같아서요.
동시에 100대를 보내면 일일이 한대씩 처리하다는게..  
브로드캐스팅하고 나서. 차라리 응답을 받는게 좋을거 같은데..
이럴때 인디컴퍼넌트는 어떤걸 써야할지 모르겠습니다.  조언 좀 부탁드리겠습니다.

+ -

관련 글 리스트
40037 인디 UDP 를 쓰는데 좀 이상한 부분이 있네요. 박종일 872 2005/05/02
40039     Re:인디 UDP 를 쓰는데 좀 이상한 부분이 있네요. 황경록 1464 2005/05/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.