メイン | 2004年12月 »

2004年11月24日

boost-1.32.0

boost-1.32.0を入れてo2onをコンパイルしなおしてみた。

c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\boost-1_32\boost\format\format_implementation.hpp(216): error C2244: 'boost::basic_format<Ch,Tr,Alloc>::size' : unable to match function definition to an existing declaration
…。
しょうがないのでなんとなく1.31.0を入れなおした。
==== VS.net 2002 and VCTK2003 ver.1.01 ============================
VS.netにVCToolkitを上書きしておく
Plathome SDKも入れてpathをいじっておく

==== STLport-4.6.2 ================================================
/srcに移動しvsvars32.bat実行

** stl_user_config.hに **

#ifdef NDEBUG
#undef _STLP_DEBUG
#else
#define _STLP_DEBUG 1
#endif

** を書き込む **

> set MSVCDIR=C:\Program Files\Microsoft Visual Studio .NET\Vc7
> copy vc71.mak makefile

** makefileの該当部分を **

EXTRA_COMMON_FLAGS=/FI "vc_warning_disable.h" /D "_MBCS" /Zc:wchar_t

** に書き換え(/Zc:wchar_tを追加) **

> nmake clean all
> nmake install

Headers C:\Program Files\Microsoft Visual Studio .NET\Vc7\include\stlport
Libs C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib
ファイルがコピーされるのでそれぞれIDEを設定

==== boost-1.31.0 with regex patch ================================
vsvars32.bat実行

> set STLPORT_PATH=L:\libs\STLport-4.6.2\stlport
> set STLPORT_VERSION=4.6.2
> set STLPORT_4.6.2_PATH=L:\libs\STLport-4.6.2
> bjam -sTOOLS=vc7.1-stlport -sVC71_ROOT="C:\Program Files\Microsoft Visual Studio .NET\Vc7" -sBUILD="<native-wchar_t>on" --prefix="C:\Program Files\Microsoft Visual Studio .NET\Vc7" install

Headers C:\Program Files\Microsoft Visual Studio .NET\Vc7\include\boost-1_31\boost
Libs C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib
ファイルがコピーされるのでそれぞれIDEを設定
===================================================================

stringアルゴリズム使いたかったのにぃ

投稿者 f99aq : 22:55 | コメント (0) | トラックバック

2004年11月18日

車輪の唄 - BUMP OF CHICKEN がシングルで出るらしい

車輪の唄がシングルで出るらしいですね。 12/1リリースらしいです。 おいらはこの曲がユグドラシル収録の中で一番好きです、はい。

投稿者 f99aq : 22:03 | コメント (1) | トラックバック

2004年11月16日

キー交換のどーのこーの ver.2

ちょっと修正

・自分がキャッシュを保持しているキーは各ノード addr=127.0.0.1, port=自port として保持しておく。
・キー交換時に自分が firewalled かどうかも相手に教える。

・B(nodeB)からキー(key)が入ってきたとき、
 if (key.addr == 127.0.0.1) {
  key.addr = nodeB.addr;
  // port そのまま
  key.firewalled = nodeB.firewalled;
 } else {
  // addr, port そのまま
  key.firewalled = false;
 }
 keys.insert(key);

・B(nodeB)にキー(key)を投げるとき、
 if (key.addr != nodeB.addr) {
  Key tmp = key;
  if (tmp.firewalled || rand() % 100 == 0) {
   tmp.addr = 127.0.0.1;
   tmp.port = myPort;
  }
  sendkey(tmp);
 } else {
  // 投げない
 }

投稿者 f99aq : 02:38 | コメント (0) | トラックバック

2004年11月09日

o2on開発続報

zlib 1.2.2 に ver up。
gzipの解凍によくわからないバグがあるから解凍部分をちょっといじったけど、ほとんど元と同じに。
datキャッシュのファイル名ハッシュ化をMD5からSHA-1に…。
P2P 2ch(勝手に名前付けたが)関係部分をほとんどコメントアウト。GUIもだいぶ削りほぼ作り直しみたいな状態に。

公開には当分…

投稿者 f99aq : 00:27 | コメント (0) | トラックバック

2004年11月04日

キー交換のどーのこーの

変な擬似コードでメモ

・起動直後は全ノード firewalled。外部からの接続を検出した段階で firewalled = false に

自ノード←─→B(他o2onノード)

class Key {
string guid;
unsigned long addr;
unsigned short port;
bool firewalled;// デフォルトでfalse
//以下省略
}

自分がキャッシュを保持しているキーは各ノード addr=127.0.0.1, port=自port として保持しておく

Bからキーが入ってきたとき
if (addr == 127.0.0.1) {
addr = B Addr
// port そのまま
firewalled flagもキーに書き込む(Bがfirewalledかどうか)
} else {
そのまま
firewalledはfalseのはず
}

Bにキーを投げるとき
if (addr != B Addr) {
if (firewalled) {
addr = My Addr
port = My Port
} else {
if (転送するか) {
addr = My Addr
port = My Port
}
}
}

投稿者 f99aq : 23:39 | コメント (0) | トラックバック

2004年11月01日

Blog作成

サイト更新がめんどくさくなってきたので、
Blogにしてみたりしてみた。

投稿者 f99aq : 21:47 | コメント (0) | トラックバック