とりあえず何を作ればいいのか

KGSで通信対局をするためには,自分は何を作ればいいのか.安直な発想としては,GTPを扱う部分,思考ルーチン,GUIの3つの部品に分けて作る形.とりあえず昨日のkgsGtpを使った接続テストと並べて図にしてみる.

さて,プログラムとkgsGtpをどうやってつなげばいいのやらわからない.この場合kgsGtpのstdin/stdoutと自作部分のstdin/stdoutは別物だろうから,何かつなげる方法が必要そう.KGSの後でUEC杯のNNGSにも対応させることを考えると,TCP/IPで通信する方法を採用するのがいいのかもしれない.
というか,プログラム内の部品どうしをどうやって連携させればいいのかもよくわからない.GUIと思考ルーチンまでならWindowsプログラミングの入門でやってみたけど,GTPのメッセージを待機したりそれを伝えたりするのはどうすればいいのか.マルチスレッド?