f99aq8ove's blog

o2on mod alpha 0.2 test(Dec 21 2004)

tag:
22 December 2004

このエントリは 2004-12-22 に書かれました。 内容が古くなっていたり、もはや正しくないこともありますので、十分検証を行ってください。

o2on mod alpha 0.2 test(Dec 21 2004) o2on mod alpha 0.2 test(Dec 21 2004) source
test版です。alphaに戻ってます。

GUIのほとんどを削除し、p2p.cppを一旦コメントアウトして一から書き直しをしてるわけですが、途中でちょっと中断。そこで、まずp2p.cppを書き直していたときにいろいろ試したことをchat.cppに適用。MSXMLを使っている部分を消してexpatでXMLをパースするようにしました(実態参照があるときのCharacterDataHandlerの挙動で小一時間悩んだのは内緒)。Chatはプロトコルを変更し

Method: (MESSAGE|NODE|HANDSHAKE)\r\n
Content-Length: length\r\n
\r\n
deflated body

みたいな感じでさらにmethodに応じたXMLを投げるようになっています。

Chatノードはchatnodes.txtに直接

hostname:port

のように書き込みます。暗号化は未実装です。Chatはブラウザから読み書きしてください。ウインドウ(次バージョンで消滅予定)で表示されるほうは文字コードを変換してないので文字化けします。m(__)m

実装されたもの一覧
  • zlib更新
  • fasthashライブラリはアセンブラ版を使うように
  • chunked encoding のときにgzip解凍に失敗してしまうのを修正(頭の1Byteが削られてた)
  • NodeInfoは接続開始時にdecPriority、接続成功時にincPriority
  • 8MB超えたら解凍を中止
  • ノードは100→80に圧縮だったかな?
  • Method: メソッド名\r\nContent-Length: 長さ\r\n\r\nXMLを投げるように変更した

今日はここまd
リンク修正。重ね重ねごめんなさい。。。at Fri, Dec 24, 2004 00:22

Related Posts