|
답글 감사드립니다..!
곧 문제해결 할 수 있을거같아요 ^^
정성훈.해미 님이 쓰신 글 :
: TCP서버의 경우
: 클라이언트가 비정상 접속종료시
: 접속 종료를 알지 못할 수도 있습니다.
:
: 그래서, 일정 시간 클라이언트를 확인하여
: 응답이 없을 때 자동 접속 종료처리를 합니다.
:
:
: 개발시 보통 이런 상황이 자주 발생하는데
:
: 나는 클라이언트 프로그램을 종료 했더라도
: 서버가 클라이언트를 접속된 상태로 알고 있다면
:
: 다시 접속 할 경우
: 접속 승인 거부를 합니다.
:
: 서버가 여러개의 클라이언트를 허용한다면 상관없지만
: 서버가 1개의 클라이언트만 허용하게 되어 있을 경우
: 발생하는 문제입니다.
:
: 이미 접속된 클라이언트가 있어서
: 더 못 받는다는 것이지요.
:
:
: 아마, 지금 하시는 외부장비가 단일 클라이언트 접속만 허용하는 것 같습니다.
:
: 클라이언트 프로그램 개발시
: 정상 접속 종료를 하시면서 테스트 해보세요.
:
: 비정상 접속종료일 경우
: 서버가 되는 외부장비를 리셋 하거나
: 1~2분 후에 클라이언트 프로그럄을 다시 실행해보세요.
:
: 위의 문제가 아니라면
: 아마도
: 해당 서버가 돌고 있는 외부장비 문제일 듯 합니다.
:
:
:
: 박태준 님이 쓰신 글 :
: : C++ 빌더 입문한지..얼마되지않아 고생중입니다...
: :
: : PC에서 외부 장비와 접속하는 Client프로그램을 개발해야하는데
: :
: : 하나의 프로그램에서 4개의 ClientSocket을 이용하여 동시접속해야하는데 ...
: :
: : 이게 되다 안되다 그러네요 ...
: : void __fastcall TForm_NWC3000::CH1ConnectClick(TObject *Sender)
: : {
: : ClientSocket1->Address = IP_Address1->Text;
: : ClientSocket1->Port = atoi(PORT1->Text.c_str());
: : ClientSocket1->Active = true;
: :
: : tflag.tcpflag1 = TCPACTIVE;
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm_NWC3000::CH1DisClick(TObject *Sender)
: : {
: : ClientSocket1->Active = false;
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm_NWC3000::CH2ConnectClick(TObject *Sender)
: : {
: : ClientSocket2->Address = IP_Address2->Text;
: : ClientSocket2->Port = atoi(PORT2->Text.c_str());
: : ClientSocket2->Active = true;
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm_NWC3000::CH2DisClick(TObject *Sender)
: : {
: : ClientSocket2->Active = false;
: : }
: :
: : 일단 2개만 접속을 시도했는데 오류가 뜨다 안뜨다 ...그래요 ..접속도 잘 안되고요
: :
: : ClientSocket1은 접속이 잘 되는데 2 는 접속이 잘안됩니다 ㅜㅜ
: :
: : 아이피번호랑 포트번호 다 다르게해도 잘 안되요 도움부탁드립니다 ..
|