tcp 소켓 프로그래밍 관련하여 질문 올립니다.
안녕하세요.
c언어 프로그래밍을 하는 한사람입니다.
현재 제가 소켓프로그래밍을 하고 있는데요.
궁금한것이 있어 질문을 올리게 되었습니다.
궁금한 내용은 서버프로그램이 실행 되어있지 않은상태에서
클라이언트 프로그램을 실행하면 Connection refused라는 에러 문구가 뜨는데
제가 만들고 싶은 클라이언트는 서버 프로그램이 동작 안할시
서버 프로그램이 켜질때까지 계속 접속시도를 하는 클라이언트를 만들고 싶은데
어떻게 만들어야 할까요...
제 소스는
int main(int argc, char **argv)
{
int sock;
struct sockaddr_in serv_addr;
sock=socket(PF_INET, SOCK_STREAM, 0);
if(sock < 0)
{
error_handling("socket() error");
}
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=inet_addr(argv[1]);
serv_addr.sin_port=htons(atoi(argv[2]));
if( connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr))<0)
error_handling("connect() error!");
close(sock);
}
이 부분에 어떤 내용을 추가 해야 할까요.
저도 열심히 고민하다가 글을 올리게 되었습니다.
답변 달아주시면 감사하겠습니다.
수고하세요.
저는 이렇게 하고 있습니다.
프로그램 시작 부분에 주기적으로 연결을 시도하는 타이머(스레드)를 하나 생성하셔서
작성하신 연결 로직을 넣어두시면 될 것 같습니다.
연결 상태는 bool 변수로 관리하구요.
댓글 달기