68user's page 掲示板

Prev< No. 1575〜1580> Next  [最新発言に戻る] [過去ログ一覧]
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数の数値がどう並んでいるかを知った上で、受けたバッファから数値を切り出していきます。

No. 1576 # gixs 2001/01/16 (火) 03:12:37
ひとつ訂正。
最初のhtons()はhtonl()。
# 掲示板への書き込みは難しいですね。他にもミスがあるかも。

No. 1577 # rererenore 2001/01/16 (火) 15:44:33
Perlで
                system関数||die"$!\n"||exit(0);
を使用すると「ファイル番号が違います」とエラーメッセージがでて以上終了を起こします。
こういったエラーの理由が分かるサイトなどありましたら教えて下さい。
またこのエラーの原因をご存知の方がいましたら原因を教えて下さい。
お願いします。

No. 1578 # たろ [E-mail] 2001/01/16 (火) 21:59:09
はじめまして。
perlで、メール本文の内容を分析し、
mimeまたは、プレーンテキストの初めの文書の最終行番号、
mimeのときにテキストがなければ、最初の本文の行番号というように
調べたいのですが、どうすればよいのかわからなくて困っています。
なにか便利なツール、パッケージなどあれば教えてください。
それか調べるポイントでもあれば教えてください。
どうかよろしくお願いします。

No. 1579 # 68user 2001/01/17 (水) 01:01:33
>>1553 CoreFighter
CoreFighter さんへ。質問に対する回答をもらっても、
何の反応も示さないなら、質問するのはご遠慮下さい。

>>1570 E田
> char型のデータでないとソケットでは送れないので
わかっておられるのかもしれませんが、それは write_sock が
そういう書き方になっているからで、本来はソケット経由で
バイナリデータを送れます。

>>1571 けんす
> なんかバグらしいです、、どうなんだろう、、。
なるほど。
# しかし素晴らしい検索能力ですね。バグだとは想像も
# しませんでした。

>> OCTO って何ですか?
> http://www.oc.to/ ここのサーバー借りてるので
ただ単にドメイン名入れてみただけなんでしょうか。

> ディレクトリーリストに表示されるアイコン集、みたいなページ
> ご存知ないですか??
ちろっと探してみましたが、見つかりませんでした。
20x22 だし、適当にでっち上げるのが簡単かもしれませんね。

>>1572 rocky
> PERL5でHTTPクライアントを作る際、SSLで
> 接続する方法を解説頂いたページを掲載して欲しいのです。
SSL のライブラリを使わず、ですか? そりゃまた難しそうだなぁ。
興味はあるので書きたいところですが、あまり期待しないで下さいね。

>>1577 rererenore
さようなら、断りなしにマルチポストする無礼なひと。

>>1578 たろ
「mimeまたは、プレーンテキスト」とか「mimeのときにテキストが
なければ」とかの条件がよく理解できませんでしたが、とりあえず
>>700 68user
が一番お手軽だと思います。

No. 1580 # rocky [E-mail] 2001/01/17 (水) 03:18:42
68USERさん、お返事ありがとうございます。
レンタルサーバーなのでMAKEを使うライブラリのインストールができなくて何でも自力でやっております。
SSLの件、気長にお待ちしておりますのでどうかよろしくお願い申し上げます。

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