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
[39648] Re:[질문]Connect 시간 조정
[] 1043 읽음    2005-03-27 23:43
왕초보 님이 쓰신 글 :
: 소켓통신을 하는데 해당 Ip가 없거나 잘못설정이 되 있을때 Connect를 하는데 1개당 20초 정도 걸립니다.
: Connect 하는데 시간을 설정할수 있나요?  1초정도 연결이 안되면 강제적으로 다음으로 넘어가게
: 할려고 하거든요.
:
: 어느 소스를 보니까  WSAAsyncSelect를 이용한것이 있어서 아래처럼 해보니까 IP가 잘못되어 있어도
: 무조건 Connect 된것으로 표시가 됩니다.
: 아시는분 자세하게 부탁드립니다.
:
: cli[n]는 stClient 구조체의 객체입니다.  [n = 0 ~ 99]
: int cSockUtil::connect_sock(char *szipaddr, int nport, int n) // nport는 소켓포트
: {
:     int nret;
:     char m_szDebugBuf[1024];
:
:     cli[n].cli_sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
:     cli[n].cli_addr.sin_family = AF_INET;
:     cli[n].cli_addr.sin_addr.s_addr = inet_addr(szipaddr);
:     cli[n].cli_addr.sin_port = htons(nport);
:
:     nret = WSAAsyncSelect(cli[n].cli_sock, frmMain->Handle, NULL, FD_CONNECT);
:     if(nret == SOCKET_ERROR)
:         return -1;
:
:     if((nret = connect(cli[n].cli_sock, (LPSOCKADDR)&cli[n].cli_addr, sizeof(cli[n].cli_addr))) == 
:                  SOCKET_ERROR )
:     {
:         if((nret = WSAGetLastError()) == WSAEWOULDBLOCK)
:         {
:             sprintf(m_szDebugBuf, "Connection From: %s", inet_ntoa(cli[n].cli_addr.sin_addr));
:             ShowMessage(m_szDebugBuf);
:         }
:         else
:             return -1;
:     }
:    
:      return cli[n].cli_sock;
: }

연결하기 전에 아래 두 함수 중 하나로 확인하는 게 속도면에서 빠를 것입니다.
struct hostent FAR * gethostbyname ( const char FAR * name      );   
struct hostent FAR * gethostbyaddr ( const char FAR * addr,    int len, int type );

+ -

관련 글 리스트
39646 [질문]Connect 시간 조정 왕초보 920 2005/03/27
39690     Re:[질문]Connect 시간 조정 juppie 1038 2005/03/30
39648     Re:[질문]Connect 시간 조정 1043 2005/03/27
39658         Re:Re:[확인] Connect 시간 조정 왕초보 925 2005/03/28
39656         Re:Re:[감사합니다]Connect 시간 조정 ( 좀더 자세히 부탁드려요.) 왕초보 895 2005/03/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.