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

델파이 Q&A
Delphi Programming Q&A
[8821] Re:[질문] 델파이5 소켓의 정체~~ 워째서~~~~
류종택 [ryujt] 932 읽음    2003-05-28 10:50
1. OnConnected였나??  이벤트를 사용하세요..

2. 클라이언트가 비정상적으로 종료되었을 경우..
   이것을 서버쪽에서 모르고 지나치는 수가 있습니다..
   이런 접속들은 서버쪽에서 Idle time을 점검하는 수 밖에 없습니다..


양철 님이 쓰신 글 :
: 델파이에 있는 tserversocket 과  tclientsocket 을 사용하고 있습니다.
: 헌데 처음이라서 그런지 궁금한게 무지 많네여...
:
: 1. 클라이언트 소켓으로 데이터를 보낼 경우만 열고 보낸후 1~2초 후
:     닫으려고 합니다.
:     이 경우 열고 나서 바로 보내면 데이터가 전달이 되지 않더군요....
:    해서 타이머 interval을 1로 해서 돌리니 전달 되더라구요.. 허~~~
:    문제는 !!!! 서버와 연결이 되지 않을 경우 입니다.!!!!!!!!!!!!!!!!
:    클라이언트 소켓의 active를 true로 하고 보내면 에러가 나고
:    소켓이 완전 먹통이 되는 경우가 생기더라고요.......
:    해서 클라이언트 소켓의 connected를 확인하니 active := true한 후에
:    바로 연결이 되지 않더군요.....
:    connected = true 가 될때 까지 active를 true로하고 다시 확인하고
:    연결이 안되있으면 다시 true로 하고 를 while문으로 돌리니까
:    바로 에러가 나더군요..메모리가 어쩌고저쩌고...... 죽갔습니다.....~~~~
:    해서 중간의 약간의 for 루프를 돌리니 괞찬아 지더군요...
:    왜 그럴까여???
:
: 2. 이번엔 서버쪽입니다.
:    클라이언트가 접속을 하고 한참을 데이터를 주지 않습니다.
:    그러다  나중에 보면 각자 따로 놀더군요...
:    클라이언트가 pda입니다.
:   종료를 해도 서버쪽에서 disconneted이벤트가 발생하지 않더군요...
:   왜그럴까여???
:
:   데이터를 주기적으로 보내면 된다고 하는데....
: pda가 전원절전 모드로 들어가면 그건 불가능하거든요...
: 계속 켜놓자니 밧데리가 얼마 못가고요....
: 서버 쪽에서는 연결을 끊는 부분이 전혀 없습니다.
: 솔직히 제가 어떻게 끊는지도 모르고 있습니다.
: pda에서는 절전모드에서 살아나면 다시 서버로 데이터를 보내는데...
: 연결이 안되어 있어서 그러는지 한10초 정도 멈췄다 살았다 해서
: 거의 다운 상태고요....
:
: 소켓의 관해 아시는분 많은 조언 부탁드립니다.
: 이문제로 가정의달 5월을 사무실에서 집에도 못가고 썩고 있습니다.
: 와이프가 보고 싶네여.......
:


:

+ -

관련 글 리스트
8819 [질문] 델파이5 소켓의 정체~~ 워째서~~~~ 양철 818 2003/05/28
8821     Re:[질문] 델파이5 소켓의 정체~~ 워째서~~~~ 류종택 932 2003/05/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.