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
[19329] 또다시 소켓 통신 문제를 부탁드립니다......
정성원 [] 869 읽음    2002-06-12 21:02
아 오늘도 소켓통신으로 다시 질문을 올립니다. 고수님들의 조언을 부탁드립니다.....


A <-> Server PC <-> B 와 같은 구조에서 ............

사실 A(Client) <-> B(Server)의 구조인데 A, B 간의 직접 통신이 불가능하여 Server PC를 중간에 넣었습니다....
이것의 기능은 A의 데이타를 받아서 B로 그대로 전달하고 B의 데이타를 받아서 A로 전달하는 프로그램입니다.
문제는 A는 여러개의 Client가 실행되거나 여러 사람들이 동시에 접속할 수 있습니다.
B는 한개의 데몬 프로그램이 돌고 있습니다.
A와 B의 프로그램은 수정할 수 없는 프로그램들이다 보니 Server PC의 전달 프로그램이 A에서 B로 접속하기 위한
동일 포트를 사용하는 TServerSocket *ServerSocket을 하나 선언하고 각 사용자의 Client에서 전달되는 요구를 수용하기 위하여
TClientSocket ClientSocket[10]을 사용하였습니다...  (최대 10명을 수용하기 위해서 입니다.)
그런데 문제는 ServerSocket->Socket->Connection[0]과 ClientSocket[0]을 매핑 시키느냐 입니다.
void __fastcall TForm1::ServerSocketClientRead(TObject *Sender,TCustomWinSocket *Socket)에서

Q1)
ServerSocket->Socket->Connection[int INDEX]가 TCustomWinSocket *Socket로 호출되는 것 같은데 INDEX를 어떻게 알아내느냐는 것입니다.

또한
Q2)
A쪽의 Client가 빈번히 접속되었다가 접속이 끊기곤 하는데 ServerSocket->Socket->Connection[int INDEX]를 호출할때 Client가 접속을 끊지 않은 상태라면
계속 INDEX가 유지되지 않고 바뀌는것 같던데 ServerSocket->Socket->Connection[int INDEX]와 ClientSocket[int IDX]에서 INDEX와 IDX를 유지할 수 있는 방법은 없습니까 ?

Q3)
이외의 다른 방법으로 해결할 수 있는 방법은 없습니다.

고수님들의 조언을 부탁드리겠습니다.

그럼 즐거운 저녁 시간되시기를 .... 

+ -

관련 글 리스트
19329 또다시 소켓 통신 문제를 부탁드립니다...... 정성원 869 2002/06/12
19361     Re:또다시 소켓 통신 문제를 부탁드립니다...... 유영인.Chris 915 2002/06/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.