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
[58183] 소켓 통신 중에요.
오징어 [scorch28] 1177 읽음    2009-08-25 16:44
텔넷으로

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 해주면 같은방식 아닌가요?

좀 다른가...ㅜㅜ 답변 부탁 드립니다...ㅜㅜ

+ -

관련 글 리스트
58183 소켓 통신 중에요. 오징어 1177 2009/08/25
58205     Re:소켓 통신 중에요. 아제나 1396 2009/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.