string 클래스를 사용한 소켓프로그램에서 Get 이 들어갑니다..

lkjt의 이미지

제가 HTML소스 긁는 프로그램을 짯습니다.

while(bytesRecv = recv( m_socket, recvbuf , Urecv, 0 ))
		buff+=recvbuf;

이렇게 소스를 짯습니다.
recvbuf 는 제대로 나옵니다.
그런데 buff랑 합치는 과정에서 이상하게 "Get / HTTP / 1.0 "
이게 들어가네요?
왜 이러는지요?

qufdl113의 이미지

Get / HTTP / 1.0

HTTP헤더 정보로 보이는데요.

요청방식은 : Get

프로토콜은 :HTTP

프로토콜버전 : 1.0

맞나 ? :oops:

liongo의 이미지

호호혹시..

위에서 send에서 buff를 쓰시고

바로 buff += recvbuf 하시지 않았나

추측해봅니다... 컴은 거짓말 아니하지 않을까요 ^^

send하고 사용할 buff를 비워주시면 되지 않을까요?

' 형식이 내용을 규정한다. '

lkjt의 이미지

버퍼를 쓰고 바로 recv받은건 맞습니다.
그러나 버퍼를 따로 만들어서 쓰는데요?

qufdl113의 이미지

참고하세요.
KLDP에 접속하면서 Iris로 패킷 캡쳐해보면..

..BhhT........E...4+@...6...Xy.'...*.P....~..hP.Dp....GET / HTTP/1.1..Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*..Accept-Language: ko..Accept-Encoding: gzip, deflate..User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CL
..... 생략 ....

위 내용이 KLDP에서 제 컴으로 처음 온 데이터입니다.
첫줄에 질문사항의 데이터 포함되어 있습니다.