|
텔넷으로
vrs.ngii.go.kr
포트번호 2101
로 접속을 해서요
GET /INCH-SB-RTCM23 HTTP/1.1
User-Agent: NTRIP GNSSInternetRadio/1.2.0
Authorization: Basic adsfasdfsadfasdfasdf== (ID와 비밀번호 부분이므로 임시로 해주었음)
요렇게 쳐주면 어떠한 신호가 날라옵니다.
그런데 이것을 똑같이 네트워크로 구현을 하는데요.
응답이 오지 않아서 질문 드립니다,
int retval;
WSADATA wsa;
if(WSAStartup(MAKEWORD(2,2), &wsa) != 0)
return -1;
SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0);
if(sock == INVALID_SOCKET) err_quit("socket()");
SOCKADDR_IN serveraddr;
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(PORT);
serveraddr.sin_addr.s_addr = inet_addr("vrs.ngii.go.kr");
retval = connect(sock, (struct sockaddr *)&serveraddr,
sizeof(serveraddr));
if(retval == SOCKET_ERROR) err_quit("connect()");
char buf[BUFSIZE+1];
int len;
while(1){
ZeroMemory(buf, sizeof(buf));
sprintf(buf,
"GET /INCH-SB-RTCM23 HTTP/1.1\r\n"
"User-Agent: NTRIP GNSSInternetRadio/1.2.0\r\n"
"Authorization: Basic dfasfdasdfsadfasfd==\r\n"
"\r\n");
len = strlen(buf);
if(strlen(buf) == 0)
break;
retval = send(sock, buf, strlen(buf), 0);
if(retval == SOCKET_ERROR){
err_display("send");
break;
}
retval = recv(sock, buf, retval, 0);
if(retval == SOCKET_ERROR){
err_display("send()");
break;
}
recv에서 계속 대기합니다. 도대체 뭐가 틀렸죠?
텔넷에서 명령어 날려주는 것이
그냥 버퍼에 똑같이 담아서 send 해주면 같은방식 아닌가요?
좀 다른가...ㅜㅜ 답변 부탁 드립니다...ㅜㅜ
|