HTML 소스 코드를 긁어 오는 프로그램을 만들었는데요,

lkjt의 이미지

char recvbuf[32];
int Urecv=32;
bytesRecv = recv( m_socket, recvbuf, Urecv, 0 );

이렇게 받으면 recvbuf에 들어갑니다,
그런데 만약 웹서버의 소스코드가 방대하다면 어떻게 해야하나요?
무작정 배열을 늘리기는 좀 그렇구요
그렇다고 벡터를 쓰기에는 실력이 안됩니다.
그래서 생각해본게 String 클래스인데, 이건 안되는거 같네여..

좋은 방법잇음 조언 부탁드립니다.

charsyam의 이미지

lkjt wrote:
char recvbuf[32];
int Urecv=32;
bytesRecv = recv( m_socket, recvbuf, Urecv, 0 );

이렇게 받으면 recvbuf에 들어갑니다,
그런데 만약 웹서버의 소스코드가 방대하다면 어떻게 해야하나요?
무작정 배열을 늘리기는 좀 그렇구요
그렇다고 벡터를 쓰기에는 실력이 안됩니다.
그래서 생각해본게 String 클래스인데, 이건 안되는거 같네여..

좋은 방법잇음 조언 부탁드립니다.

흐음 루프를 돌면서 페이지가 끝날때 까지 받으면 될듯 한데요?
고운 하루되시길...

=========================
CharSyam ^^ --- 고운 하루
=========================

lkjt의 이미지

무슨 뜻이신지??

또, recv함수가 char로도 보내 주나요???

simpid의 이미지

lkjt wrote:
char recvbuf[32];
int Urecv=32;
bytesRecv = recv( m_socket, recvbuf, Urecv, 0 );

이렇게 받으면 recvbuf에 들어갑니다,
그런데 만약 웹서버의 소스코드가 방대하다면 어떻게 해야하나요?
무작정 배열을 늘리기는 좀 그렇구요
그렇다고 벡터를 쓰기에는 실력이 안됩니다.
그래서 생각해본게 String 클래스인데, 이건 안되는거 같네여..

좋은 방법잇음 조언 부탁드립니다.

c언어를 익숙하게 사용하시는것 같진 않은데.. 간단하게 나마 코드를 작성하신것 보면^^;

뭐 어째튼.. 님께선 32바이트 크기로 받는 예제코드 적어놓으셨고...
string 클래스 언급하셨는데요..

거기에 맞춰 답변 드리면....

어느정도 크기가 될 지 모르는 html 파일을 32바이트씩 나눠서 받으면서 받을때 마다 string에 추가하면 되지 않을까 싶습니다.

lkjt의 이미지

어떻게 나눠 받을수 있나요?

simpid의 이미지

lkjt wrote:
어떻게 나눠 받을수 있나요?

아래는lkjt님께서 작성해 놓은 코드입니다.

char recvbuf[32]; 
int Urecv=32; 
bytesRecv = recv( m_socket, recvbuf, Urecv, 0 );

URecv에 32를 넣었으므로 32바이트의 데이터를 받는것입니다.
HTML을 받아오기 위한 HTTP프로토콜은 웹서버가 일방적으로 보내주다가 다 보내면 연결을 끊어 버리므로...
연결이 끊어질때까지 님께서 작성해 놓은 코드로 계속해서 받으면 되는겁니다.

위에 어떤분이 루프로 돌면서.. 라고 써 놓으셨던것 같은데요...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.