68user's page 掲示板

Prev< No. 1571〜1575> Next  [最新発言に戻る] [過去ログ一覧]
No. 1571 # けんす 2001/01/15 (月) 18:55:28
>>1569 68user
> これは多分デフォルトで設定されていると思います (というか、
> .html だから text/html になっているんじゃないかなぁ)。

> 同じディレクトリに置いてもダメでしたか?

http://apacheml.ecc.u-tokyo.ac.jp/cgi-bin/namazu.cgi?key=readme&submit=Search%21&whence=0&max=20&format=long&sort=score

なんかバグらしいです、、どうなんだろう、、。

> あと質問なんですが、www.kensu.com の
> Server: Apache/1.3.12 (Unix) OCTO_3.0 PHP/4.0.0 FrontPage/4.0.4.3
> OCTO って何ですか?

http://www.oc.to/ ここのサーバー借りてるのでちょっとわからないです、、

ついでに、、
ディレクトリーリストに表示されるアイコン集、みたいなページ
ご存知ないですか??
php,log,cgiとかが「?」じゃかっこわるいので・・・・

No. 1572 # rocky [E-mail] 2001/01/15 (月) 20:34:43
68USERさん、すばらしいサイトを公開なされていて本当に感謝しております。ネットワークプログラミングの基礎知識はWINDOWSのCHMファイルにコンパイルして手元に置いて大変参考にさせていただいております。(LWPメインの「WEBクライアントプログラミング」の百倍くらい助けていただいております。)

本日書き込みさせていただいたのは、質問と言うよりは要望なのですが、PERL5でHTTPクライアントを作る際、SSLで接続する方法を解説頂いたページを掲載して欲しいのです。お忙しいとは思いますがぜひ実現いただけましたら大変助かります。

それではお体にお気をつけて。
今後のご活躍を期待しております。

No. 1573 # CoreFighter 2001/01/15 (月) 23:08:50
        char TempBuf[10+5+5+5+5+1];

        /* TempBufを初期化 */
        memset(TempBuf, 0x00, sizeof(TempBuf));
        /* TempBufに設定 */
        sprintf(TempBuf, "%d%d%d%d%d",
                tes_s.test_1, tes_s.test_2, tes_s.test_3, tes_s.test_4, tes_s.test_5);

この時TempmBufの大きさは
longを整数にした時の最大桁数 + shortを整数にした時の最大桁数
shortを整数にした時の最大桁数 + shortを整数にした時の最大桁数
shortを整数にした時の最大桁数 + 改行(\r)
です。

No. 1574 # CoreFighter 2001/01/15 (月) 23:21:24
すいません。訂正です。
>この時TempmBufの大きさは
>longを整数にした時の最大桁数 + shortを整数にした時の最大桁数 +
>shortを整数にした時の最大桁数 + shortを整数にした時の最大桁数 +
>shortを整数にした時の最大桁数 + 改行(\r)
>です。
改行(\r)でなくてNULL文字(\0)でした。

No. 1575 # gixs 2001/01/16 (火) 03:00:49
> sprintf(TempBuf, "%d%d%d%d%d",
> tes_s.test_1, tes_s.test_2, tes_s.test_3, tes_s.test_4, tes_s.test_5);

この方針は、
>>1512 gixs
の最後で書いた、数値を文字列として渡す方法ですね。
(つまり、数値10を0x31 0x30のバイト列にしてしまう方法です)
受け手は、自前のパーサなりsscanf(3)なりで、パースして数値に戻します。

でも、"%d%d%d%d%d"ではパースできません。
ゼロ詰めで桁数を決め打ちするか、空白で区切るべきでしょう。

このように文字列で渡す方針が簡単なので、実用アプリならこうすべきですが、どうしても数値のままネットワーク上に流したいとのことなら、ネットワークバイトオーダに変換しながらmemcpy(3)(or memmove(3))します。

# 動かないコードでもいいように、疑似コード(エラー処理なし)。
# および、勝手に、uint32_t tes_s.test1; uint16_t tes_s.test2;ということにします。
char *p = buf;
uint32_t x32 = htons(tes_s.test1);
memcpy(p, &x32, sizeof(uint32_t));
p += sizeof(uint32_t);
uint16_t x16 = htons(tes_s.test2);
memcpy(p, &x16, sizeof(uint16_t));
p += sizeof(uint16_t);
...
write(sock, buf, p - buf);

受け手は、どういうbit数の数値がどう並んでいるかを知った上で、受けたバッファから数値を切り出していきます。

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