별다섯개 님이 쓰신 글 :
: 안녕하세요.
:
: 서버역할을 하는 제품에 파워를 인가하고,
:
: PC에서 ClientSocket으로 접속을 하면 socket에러 10060이 뜨거나, 아주 늦게(10초이상지나서) 접속이 됩니다.
:
: ClientSocket1->Host = sys_ip;
: ClientSocket1->Port = sys_port;
: ClientSocket1->Active = true;
:
: Wireshark를 띄워놓고 모니터링한 상태에서 위와같은코드를 실행하면
:
: 아무문제 없이 바로바로 접속(3초이내)이 됩니다.
:
: 무슨차이가 있을까요? PC쪽 설정을 해줘야하는게 있는지요?
:
: 아시는분 도와주세요..
답변:
Rad studio 10.3 기준으로 System.Win.ScktComp 유닛에 정의되어 있는
TClientSocket 은 Connection을 비동기적인 방법으로 처리하고 있습니다.
TClientSocket 에 의존하지 말고...
Winsock 소켓 API 이용해서 코드 작성해서 API 레벨에서 직접 확인해 보세요.
블러킹 모드로 작성하면 코드 몇줄 밖에 안됨.
|