くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | プログラム | | 模型]

2018-01-22

日記

あれ、2週も書いてなかったっけか。

大してなにもしてないのはいつも通り。

バックアップ用とMac miniの交換用HDDをそれぞれ買ったんだが、思ったより早く届いた。 Mac miniはTR6ってトルクスドライバーがないと分解できないようなのでそれを別に秋葉原まで買いに行った。

しかし交換するのはいいけどどうやって復旧しようかな。Time Machineのバックアップはあるけど、もう3年以上は使ってるしそろそろ再インストールしてもいいんじゃないか? と思ったけど、べつに大した使ってねえし環境が汚れてるってほどのこともないかな。 めんどいからバックアップから復旧すればいいか。

あとバックアップHDDを交換したらバックアップ環境もCrashPlanから移行していかないとならんね。

[PeerCastStation] IPv6対応続き

PeerCastStationのIPv6対応はとりあえず動く分には動くようになったんで、掲載するYPの方をいじってた。

YP用のPeerCastとかもう作り直した方が早いんじゃねーのとか言われるし、俺もそう思うんだけど、既存のYPの置き換えをしてもらうならPeerCastにパッチ当てた方がやっぱり対応してもらいやすいかなと。

基本的にはPCPでIPアドレスをやりとりするところで、IPv6も対応すれば良い。 4バイト固定で読み込んでいるところを16バイトでも通すようにするだけでOKだ。

基本的にはそうなんだが、しかしPeerCastはIPv4のアドレスをunsigned intで引き回しちゃっているので、そこを全部IPv6アドレスも保持できるようにしないといけない。 IPv4とIPv6両方保持できるIpAddressクラスを作って、IPアドレスを引き回していると思われるunsigned intの部分を全部置き換える作業をした。

こりゃ大仕事だぞ……と思いつつ気長にやるつもりでとりかかったんだが、やってみたら意外とあっさり済んでしまった。 確かによく考えたらIPアドレスをあれこれ操作するところなんてそうそうあるわけもなくて、大半は引き回してるだけだわな。 ちょっと動かしたらまあまあ動いたので良いんじゃないでしょうか。

Windowsで開発してたけど、YPはLinuxとかで動いてるのでそっちも対応しないとな。最近はWindows Subsystem for Linuxなんてものもあるのでそれでやってみるべか。 というわけでやってみたところ、一度再起動が必要だったくらいであっさりインストールできるし動きも軽快だし良いんじゃないでしょうか。 なんかファイルのやりとりがよくわからないので完全に分離された環境で開発してて1、Windows上で動いてるメリットはあんま感じられなかったけど。

Linux対応もWindowsとそれほど変わらない感じで、ほぼコピペしてちょっといじるだけでいけた。そりゃただのソケット操作だものな。 これで一応完成。

あとPeerCastStation側はIPv6のチャンネルを建てられはするものの、使い勝手にいろいろと難があるので直してた。 IPv6自体は簡単なんだけど、IPv4とIPv6は似てるけどあくまで別なので、両対応すると同じような機能を2つずつ保持しないといけないのが大変だ。

せっせと作業して帯域チェック以外のところは両対応できたはず。 帯域チェックもIPv6とIPv4で別にすればリリースできそうな形にはなりそうね。

  1. Linux側のファイルをWindows側からいじると死ぬっていうから……。逆は大丈夫そうなので、Windowsのフォルダをマウントするのが正しいぽい。 


ページのトップへ | トップ «前の日記(2018-01-05) 最新 次の日記(2018-01-30)» | 編集 | kumaryu.net by kumaryu