agentの動作を生成したい。評価のために、勝手にサーバを起動してクライアントを接続してエージェント走らせて評価値を書き出して死ぬクライアントを作る必要が生じている(もう長いことこの要求は放置されている)。クライアント(C++)でとりあえずパラメータをテキストから読み込むようにして、GA部分はPerlのAI::Geneticに丸投げする。あとは、Perlからサーバを上げてクライアントを走らせて評価値をとってくるだけ(言うのは簡単だ)。offの命令を出さないといけないのだが、rcssmonitor3dから出す以外に方法がよくわからなかった。サーバ側にコマンドからキックオフする機能は特に見あたらない(例によって調べるのがめんどい)のだが、いちいちモニタまで上げてたのではただでさえ遅いGAが耐え難い遅さになってしまう。いうわけで、rcssmonitor3dにキックオフ命令を出させた時に流れてるパケットをキャプチャして、同じように送ってやれば良いのではないかと思ったのでやってみた。ソケットで送ってることはまぁわかっているので、tcpdumpでloをdumpする。この辺のがわからんってtwitterに言ってみたら何人かが教えてくれた。持つべきものはすごい友人達ですね。すると、loを通るパケットがhogeに吐き出される。これをwiresharkで開くといい感じにパケットの中身が見られるので、kickoffとかで検索をかけて、クライアント→サーバのパケットから目的のものを探す。目的のパケットのdata部はこんな感じだった。3200に送りつけてみた。data部をそのままコピーするしかないと悟り、16進数で送るようにしてみた。serverを立ち上げて、このスクリプトを走らせるとkickoffされるではないか。なんかひたすら蛇足でしかない気がするが、思うように動いたのでとてもうれしい。moreAboutまた太った。naotaco+blog@gmail.com[naotaco.com]一切の無断転載・リライト等を禁止します。各種お問い合わせは、上のメールアドレス、もしくはTwitterまで連絡ください。宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。WordPress.。