[소켓] 명령행 인자 다시 질문 입니다..*^^*
놓아줄게요
tcp client 프로그램 중에 컨넥트 부분인데요..
아래는 127.0.0.1 주소로 9000 포트로 접속을 하는 것입니다..
이것을 tcpclient.exe 127.0.0.1 9000 이렇게 명령행 인자를 받아서 실행을 하면
접속을 하는 프로그램으로 하려 하는데.. 어떻게 해야하나요?
// connect()
SOCKADDR_IN serveraddr;
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(9000);
serveraddr.sin_addr.s_addr = inet_addr(127.0.0.1);
retval = connect(sock, (SOCKADDR *)&serveraddr, sizeof(serveraddr));
if(retval == SOCKET_ERROR) err_quit(connect());
제 생각엔 이렇게 하면 될거 같은데.. 오류메시지가 뜨네요..
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(argv[2]);
serveraddr.sin_addr.s_addr = inet_addr(argv[1]);
retval = connect(sock, (SOCKADDR *)&serveraddr, sizeof(serveraddr));
if(retval == SOCKET_ERROR) err_quit(connect());
-
화이트
argv[2] 는.. char* 입니다. ^_^
htons(9000) 는.. int 같네요~ ^_^
atoi 함수를 써 보심이~ ^_^ -
라와
localhost 지정은 어디에;;;
serveraddr.sin_addr = INADDR_ANY; 추가해보셧나욤?
어차피 헤드는 netinet/in.h 쓰시잖아요