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
[39684] [질문]소켓통신에서 Connect 할때 핸들 증가 (제발 부탁드립니다.)
초보자 [] 1317 읽음    2005-03-29 21:52
글번호 35581에 대한 답변을 임프님께서 (글 35612) 해 주셨는데 그건 ClientSocket 컴포넌트로 통신할때
해당 하더라구요. (제 소스에 적용하니까 컴파일 에러 납니다.)
임프님께서 답변해주신 내용이 많아서 파일로 따로 추가했습니다.

저는 winsock2 으로  아래내용처럼 클래스를 만들어서 소켓통신을 하고 있습니다.

연결이 안되는 IP로 접속을 시도하면 핸들수가 계속 증가합니다. 
하루에 3000 ~ 4000 개가 넘어서 결국 서버가 다운됩니다.
접속은  아래처럼 하구요.
이주일째 해결 못하고 해당 업체에서 계속 압박하는데 정말 힘드네요.
제발 아시는분 도와주십시요.


    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); // IP
    cli[n].cli_addr.sin_port = htons(nport); // PORT

if( connect(cli[n].cli_sock, (LPSOCKADDR)&cli[n].cli_addr, sizeof(cli[n].cli_addr)) < 0)
{
  생략
}



<헤더파일 winsock >
#include <winsock2.h>
struct stClient
{
    int in_use;
    SOCKET cli_sock;
    struct sockaddr_in cli_addr;
};

extern stClient cli[MAX_CLIENT];

class cSockUtil
{
    private:
        struct  sockaddr_in srv_addr;
        char    m_szDebugBuf[1024];
        int     svr_conn;
        timeval tout;
        fd_set  fd_read, fd_write, fd_except, fd_conn;
        HANDLE  m_hwnd;
    protected:
    public:
        int cli_conn;
         cSockUtil();
        ~cSockUtil();
        void open_sock();
        int connect_sock(char *szipaddr, int nport, int n);
        int close_sock(int s);
        void close_all_sock();
        void read_sock(int s);
        void check_write_sock(char *buf, int len);
        void write_sock(int s, char *buf, int len);
        void check_write_sock_Ctrl(int nsock, char *buf, int len);
};
//---------------------------------------------------------------------------

+ -

관련 글 리스트
39684 [질문]소켓통신에서 Connect 할때 핸들 증가 (제발 부탁드립니다.) 초보자 1317 2005/03/29
39692     Re:[자체해결]소켓통신에서 Connect 할때 핸들 증가 (제발 부탁드립니다.) 초보자 1087 2005/03/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.