マルチスレッドで同時処理

だいたい6時間ぐらい延々コード書いて試行錯誤してようやく完成。
150行足らずのコードでここまで手こずる自分に萎え。
今回作ったのは、計算する裏でTCP通信を待機し、要求に応じてその時点での計算結果を送信するプログラム。
と言っても計算するための部分は別の人なので今回は時間表示で代用。
仕様をまとめると
 

リアルタイムで計算を実行。
TCPによる通信機能を装備し、常に接続を待機。
要求に応じて計算結果を送信する

 
てな具合。
つまりは、計算する部分と通信する部分を同時実行させるだけなんだけど、これが意外と手こずった。
beginthreadexって関数使えば複数のスレッドを作成できるんだけど、なにぶん経験不足なワタクシ。
関数の仕様と使い方を理解するのに先週1週間を費やし、さらに計算結果を通信する関数に渡す方法を考えるのにだらだら数日。(そして結局グローバル関数に逃避)
 
まあなかなか本腰入れて取り組まなかったのもホントだけど、今日の6時間のウチ半分以上は素人故のトラブルだった気がする。
だいたいVC使い始めてまだ2週間ってあたりでアウトな気がする。
実際触ってる時間はまだ24時間に満たないズブな素人なわけだし。
 
恥の上塗りついでに今日悩んだことの覚え書き。

1.数字を文字列に変換する方法

itoa関数。
itoa(int 変換元, char 変換先, int 表現基数)
ちなみに逆変換はatoi。

2.includeの順番

winsock2.hをwindows.hの後ろに持って行くとコンパイルエラーが出る。

3.時間取得の方法

time( time_t 目的変数 )
ちなみにこれは例の70年代からの秒数って奴。
日付とかを構造体で取得する奴もあるらしいがよく知らん。


とりあえず、コードを書けば書くほど、プログラマーになりたくなっていく。
・・・元々なる気もなれる気もしないけどねw