これまで使ってたzive.orgのDDNSサービスが有料化されるらしく、高くなければそのまま使おうと思ったんだけど、月額\500もかかるらしい。なんでDDNSごときでそんなにはらわにゃならんのか。月\100ぐらいなら払ったんだけど。ということで、移転作業開始。まずは、どこのDDNSサービスに行くかを決める。その後、サーバの設定を変更。DDNS自動更新ソフト(DiCEd)とhttpサーバ(apache)とML関連(postfix+fml8)あたりを。しかし、fml8に苦戦。そのままドメインだけ変更するのは大変そうだったので(過去のアーカイブをあきらめるなら、新しく1から作り直して、前の設定を持ってきて一部を上書きすればある程度は楽か?)、自鯖のMLは一旦休止することにした。さくらインターネットのレンタルサーバ(スタンダード)だとMLは追加投資なしで作れるので、これを利用する。特に苦労なく設定完了。ただ、MLのタイトルに表示する部分に漢字が使えなかったり、携帯用MLへのマルチパートメールのtext以外のパートのフィルタリングができなくなったり、MLのメールがほんとに送信できてるのか確認できなくなったので(ログが見えない)、若干不満。やっぱり自由度と言う意味では自鯖に勝てるものはないな。利点としては、自鯖の電源常時ONを気にしなくてよくなったことと(httpサーバはほとんど使われてないのであまり気にしてない)、MLに流れるメールのウィルスチェックができるようになったことかな。
会社で健康診断があった。体重が4kgも増えていた。最近太ってきたことは認識してたけど、なんとなく自分の中では季節のせいにしていた。でも、さすがに毎年同じ時期にある健康診断で具体的に数値が出てくると、言い訳なんてできないね。視力はなぜか両目1.5だった。明らかに昔より視力が落ちてるはずなんだけどなぁ。正直、Cの切れてる方向は自信ないのに全部当たってただけだし。
昨日の続き。昨日の問題点2つが解決した。(1)InternetReadFile()で値が読めないのは、HttpSendRequestEx()→InternetWriteFile()の後でHttpEndRequest()し忘れてただけだった。(2)バイナリデータの送信がダメっぽいのは、杞憂でした。perlって、バイナリデータも通常の文字列と同様に扱えるみたい(Cだとヌル文字が入ってると文字列として扱った場合に後ろが切れちゃうけど、perlでは問題ないみたい)。試しに0x00から0xffまでのバイト列をURLエンコードして送ってみて、cgi-libでデコードされた後に再度URLエンコードして表示してみたら送ったときと同様のデータに戻った。というか、バイナリのまま扱えるならわざわざ再度URLエンコードする必要もないので、このまま使わせてもらう。ということで、HttpSendRequestEx()の調査は無事完了。
昨日からパケットモニタで見てて思うんだけど、数バイトのデータをInternetWriteFile()するたびに1パケット流れるのって結構無駄だよなぁ。後でInternetWriteFile()の回数を減らせるように改良するか..
前回の続き。なんとかHttpSendRequestEx()とInternetWriteFile()でデータは送れるようになったんだけど、なぜかサーバのPerlスクリプトで出力されるべき受信データが0バイト。IEからGETで送ったときはちゃんと返ってくるのに。パケットモニタで調べてみると、
cgi-lib.pl: Unknown Content-type: .
ってエラーが返って来てるみたい。POSTだとContent-typeも指定してあげないといけないのか。ちょっと探してみたけど、HttpSendRequestEx()使っててContent-Typeの指定をしてる例は見つからず。試行錯誤してみたところ、次のようにしたらcgi-libでのエラーはなくなった。
BufferIn.lpcszHeader = _T("Content-Type: application/x-www-form-urlencoded"); BufferIn.dwHeadersLength = _tcslen(BufferIn.lpcszHeader);
BuffersInは、HttpSendRequestEx()の2つめのパラメータに渡す構造体。ジェネリックテキストルーチンを使ってるので、tchar.hのincludeも必要。とりあえず、これで送るところまではできた。帰りもパケットキャプチャしてみるとちゃんとデータがきてるみたいだけど、WinInetのクライアントで取り出すところがまだできない。この先は後日。あと、上記のContent-Typeだと、cgi-lib.plで勝手にデコードされちゃうので、今回のようにバイナリデータも処理したい場合はダメっぽい。これも後日か。
ゴールド免許に更新。それにしても、30分の講習のために1時間待たされたのはさすがにどうかと。それ以前にも各種行列にあわせて数十分並んだってのに。ほんとはもっと早い時間に行くはずだったのに、朝から鼻血が止まらず(起きた直後に40分、自転車で運転免許試験場に向かう途中に20分ほど)、ロスタイムが響いて着いたら9時過ぎてた。警察署(@愛知)で更新した前回更新時の2倍以上かかって、全部終わったら11:30だった。午前中に会社にたどり着けるかが気になって講習どころじゃなかったよ。もうちょっと早く着いてれば1つ前の講習に割り振られたんだろうけど。5年後には大阪でも近所の警察で即日発行されるようになってることを望む。
今回の更新でようやく表側に今の住所が記載&本籍が豊田市に変更できた。以前に疑問だった大阪府での本籍変更は、本籍が記載された住民票などの本籍が証明できる書類でできるみたい(逆に言えば、市町村合併などの行政区画変更でも書類が要るみたい)。今回持ってったのは戸籍抄本なのでもちろん受理された。
寮でBフレッツが申し込み可能になったので、早速2年間使ってきたフレッツADSLからBフレッツマンションタイプ(VDSL)に変更。最近、連休とかが挟まったおかげで日付の進む感覚がおかしくなってたのか、前日まで今日が工事だってことを忘れてた。プロバイダのコース変更手続きも昨日の夜中にやったんだけど、今つながっているところを見るとちゃんとコース変更できたみたい(フレッツADSLもまだ使えてたけど)。Bフレッツマンションタイプはボトルネックになりそうな<局→ユーザ側の建物の間>を複数ユーザで共有するという仕組み上、フレッツADSLよりも時間帯による速度の影響が出やすいとは思うけど、とりあえずBNR スピードテスト 回線速度計測ページによる昼間の測定結果は、下り26.372Mbps、上り7.25Mbpsでした。思ったより上りのスピードが出ないね。上りは建物内のVDSL部分による制限を受けてるのかも。上りが速ければO-84氏からの依頼物のサーバ耐久テストに使おうと思ってたのに。あとは、夜になってどこまでスピードが落ちるかが問題。
今回、ついでにルータもNTTのIP電話も使えるやつに交換したので、ルータの設定なんかもした。すっかり忘れてたのがサーバのDiCEdの設定変更。ルータの設定ページから現在のIPアドレスを取得してたんだけど、ルータを入れ替えたのでIPアドレスを拾えなくなってた。
WinInetでデータの送信をしようとしてるんだけど、POSTで大きなデータを送る場合、Platfome SDKで見つけたHttpSendRequestEx()ってのが使えそう。パラメータで渡すINTERNET_BUFFERS構造体がリストっぽいので、リストをたどって全部のデータを送ってくれそうな予感。が、どう見てもSDKの説明文が不足してる感じなので、使用例を探してみる。Microsoft直々のサンプル発見。で、サンプルコードをダウンロードして中身を見て愕然。全然リスト的に使ってないよ。しかも、この関数自体はデータを全く送ってくれないらしく、その後でわざわざInternetWriteFile()してるし。改めてさっきのサンプル解説ページの下のほうを読むと、これ以外のパラメータは未実装とか書いてある。期待してた機能が全然使えなくてがっくり。でも、結局InternetWriteFile()で送信するためにはHttpSendRequestEx()を使う必要がありそうだ。
早くも自室の室温が30℃に到達。今年も早くからエアコンが必要になりそうな予感。
ということで5連休が終了。これでも去年よりは長かったんですが。連休中にO-84氏からの依頼物を進めるつもりが、結局今日1日しかできなかったよ。しかも丸1日使えたわけでもなく、大して進まなかった。
そういえば、5/3〜5/5は金が下ろせないんだった..先週はしっかり意識してたのに、休みに入った途端に頭の中から消えていた。財布の中身は千円札と二千円札が数枚あるだけなので、突然の出費がなけりゃいいんだけど。
役所に行って戸籍の写しをもらってきた。これでようやく合併後の新戸籍が判明。でも、今回追加された字(あざ)の部分は実家の人も含めて誰も正しい読み方がわかんないんですが。それと、旧字体だった文字(澤)が新字体(沢)に変わってた。
俺が実家に帰ってるのを知っているかのように電話がかかってきた。おかげで昼から買出し&前のPCからのデータ引越しなどをする羽目に。データ移動をLAN経由でやろうとしてたんだけど、前のPCがWinMeで、ファイル共有のやり方がよくわかんなかったのでUSBメモリを使って移動した。そもそも9xって自分のマシンでは7年ぐらいほとんど使ったことないからよく分からん。
帰省途中、名鉄を経由したんだけど、いろいろ変わってた。まずは新名古屋→名鉄名古屋に駅名が変わってた。駅名は他にも隣のナゴヤ球場前とか新岐阜も変更された模様。列車種別に快速特急と快速急行(これは昔一時期あったけど)と準急(これは瀬戸線にはもともとあった)が追加されてた。それと、中部国際空港から金山折り返しの豊橋行き特急ができたらしい。なんで神宮前で折り返しじゃないんだろう、と一瞬思ったけど、駅の構造を思い出したら納得した(神宮前はホームより南東側に分岐ポイントがない、というか、知多半島方面はすぐに高架になってしまうのでポイントが作れない)。最初から空港ができるって分かってたら神宮前で折り返せるようにしたんだろうなぁ。この折り返し特急のおかげで、名古屋からの特急が1時間に3本に減らされてた。金山まで一旦移動しないといけないのが微妙に面倒。それにしても、7分間で常滑方面行きが1ホームから4本出発したりとなかなかの過密ダイヤだった。これも折り返し特急のためだろうなぁ。