68user's page 掲示板

Prev< No. 567〜572> Next  [最新発言に戻る] [過去ログ一覧]
No. 567 # GAT 1999/11/30 (火) 07:38
おはようございます。

ネットワークプログラミングの基礎知識の
C言語でHTTPクライアントを作ってみよう(2)
ではperlと違いヘッダ部分が表示されてますよね?
あれを本体部だけ表示するようにするにはどうしたらいいんでしょう?
色々やってみましたがどうも上手くいかなくて…
「UNIXの場合」はfgets関数をソケット読み出しにも使えますけど
某Windowsは勝手が違うんです。。
# どーみてもUNIXの方がやりやすい
どんな感じかというのがhttp://www.nakka.com/inet/httpc.html
赤系の色で
「/* サーバからデータを受信する処理 */」
とか書かれてる辺りです。
なんとなく見るとやりにくいのがわかるかと^^;;
どうすればいいでしょうか?
思いついたのでいいですからレスください。
どうもアイデアが・・・・

No. 568 # 68user 1999/11/30 (火) 14:25
    while (1){
        char buf[BUF_LEN];
        int read_size;
        static int body_flg = 0;
        char *p;

        read_size = read(s,buf,BUF_LEN);
        if ( read_size > 0 ){
            if ( body_flg ){
                p = buf;
            } else if ( p = strstr(buf,"\r\n\r\n") ){ /* 空行はあるか? */
                p+=4; /* \r\n\r\n の分先に進める */
                read_size -= p-buf; /* サイズ調整 */
                body_flg = 1;
            }
            if ( body_flg ){
                write(1,p,read_size);
            }
        } else {
            break;
        }
    }
こんな感じでどうでしょうか?

No. 569 # 68user 1999/11/30 (火) 15:29
あ、全然ダメじゃん。
> } else if ( p = strstr(buf,"\r\n\r\n") ){
buf は \0 で terminate されてないし、そもそも
\r\n\r\n が1回で読める保証はなくて、ちょうど
境界にまたがってるかもしれない。

ま、そこらへんはよしなに。

No. 570 # k 1999/11/30 (火) 17:35
pingコマンドでは、ホスト名を指定することによって、
そのホスト名(またはIPアドレス)との接続確認が
できます。
これと同様に、そのホスト名(またはIPアドレス)の
特定のポート番号に対して、接続確認を行いたいの
ですが、なにか良い方法ないでしょうか?

No. 571 # 68user 1999/12/01 (水) 00:33
実際に connect するのはダメなんですか?
それ以外の方法はないと思います。多分。

No. 572 # ミレニアム [E-mail] 1999/12/01 (水) 02:33
本サイトはたまにではありますが参考にさせていただいております。
私も何か投稿させていただきたいと考えておりましたが、プログラミングサークル“ミレニアム”を立ち上げましたのでご紹介をさせていただきたいと思います。掲示板の案件と直接関係ないと思われますが容赦願います。
ミレニアムはサークルという体質を生かして医療・福祉・教育の分野で高機能・低価格ビジネスアプリケーション構築を目的としたプログラミングサークルであります。
現在、メンバーは15名程度でホームページを建設中であり、現在CGI等の組める方、VB、VC++、Delphi、Java、HTML、DTP(デザイン)の得意な方を募集致しております。メンバーは現職のプログラマー、DTP構築者、家庭の主婦などいろいろな方で構成されております。
ミレニアムに参加する条件としては本人に常識と責任感と好奇心が必要でありその他は問われません。
興味がございましたらメールにてお返事お願いいたします。

失礼いたしました。解からないことがありましたら私も投稿させていただくかもしれませんのでよろしくお願いいたします

Prev< No. 567〜572> Next  [最新発言に戻る] [過去ログ一覧]