|
전 님이 쓰신 글 :
: 서버 소켓에서 클라이언트 요청이 들어올때 함수 인데...
: //---------------------------------------------------------------------------
: void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
: TCustomWinSocket *Socket)
: {
: TListItem *ltItem;
:
: //클라이언트의 요청을 받아들이다.
: StatusBar1->Panels->Items[0]->Text = "OnClientConnect Event" ;
:
: //ListView1->Items->Clear();
: ltItem = ListView1->Items->Add();
: ltItem->Caption = Socket->RemoteHost; //원격 컴 이름 ; (여기서 느려짐)
: ltItem->SubItems->Add(Socket->RemoteAddress); //원격 컴 IP
:
: AnsiString strRemoteHost;
: if(Socket->RemoteHost.Length()) strRemoteHost = Socket->RemoteHost; (여기서 느려짐)
: else strRemoteHost = "없슴";
:
: //로그 파일 기록
: UpDate_Log(DateTimeToStr(Now()) + " : " +
: strRemoteHost + " -> " + Socket->RemoteAddress +
: " OnClientConnect" + "\r\n");
:
: ClientSocketList->Add(Socket);
: }
: //---------------------------------------------------------------------------
:
: 어떤 이유에서 인지...
: 이상하게 접속이 오래걸리는 PC는 매번 오래 걸리드라구여...
: 단지 클라이언트가 접속되면 리스트뷰에 뿌리고 리스트에 저장만 하는건데 말이죠.
: 제가 뭘 잘 못 한걸까요 ???
:
: 느려지는 이유가 Socket->RemoteHost이것이 들어간 줄은 느려지더라구여.
: 그래서 말이데엽 ^^;
: 클라이언트 리스트를 작성하구 싶은데 접속한 클라이언트의 이름을과 IP를 어떻해
: 리스트화해서 보여줘야 하나요??
: 많은 조언 부탁 드립니다.
:
음 질문내용을 제가 잘 모르겠지만.. 일단 아는범위내에서 -_-;
.. 음 RemoteHost가 원격 컴 이름..이라구요;?
보통 다른 프로그램에서도.. 컴터의 이름을 읽어오는부분이 좀 느리지 않던가요..?
제생각엔 그부분이 원래 좀 느린거같은데..;
왜인지는 이유를 잘 모르겠지만.. 그 컴 이름 알아오는 함수에서.. 아마 뭐 여러가지 네트웍 설정등등(잘 모름-_-;)을 검토하느라..그런듯.
음 만약 저라면.. 클라이언트가 실행되는순간에 컴터의 이름을 미리 저장해놓고..(이때 클라이언트가 약간 느리겠죠..? 이런건 로딩화면으로 표시하면..;)
그 이름을 IP주소와 함께 전송하는방법을 쓸텐데;(IP랑 같이있어야.. 다른거랑 겹치지 않을테니(?); 음 잘생각해보면 없어도 될지도..;)
|