マルチスレッド化と入力デバイス制御実装とソースコードの整理
入力デバイス用の通信、デスクトップ画像転送/再生、サウンドデータ転送/再生の3つのマルチスレッド化とWindows向けの入力デバイス(キーボード、マウス)の実装とソースコードの整理をぼちぼちとしてます。
まず、入力デバイス。QtのイベントをWindowsのメッセージ相当に変換するクラスを設けました。キーボードについてはサーバのキーボートに対応したメッセージへ変換する必要があるので、共通部分を抽象クラスとして実装してキーボードごとの変換処理を派生クラスで実装します。USキーボードとか使いたい人には派生クラスを実装してもらいましょう(^_^;
とりあえずは私が使っているキーボードのみに対応します。Androidなどへ対応もこのクラスの派生クラスで対応できるのではないかと思いますが…
マルチスレッド化は、QtのスレッドクラスであるQThreadを派生したものをスーパークラス(NetThread)にしました。これをもとにそれぞれ入力デバイス、画像、サウンドの派生クラスを構成します。基本的に3つのスレッドは各自勝手に走ります。但し、通信開始の最初方だけ手順が決まっているので、その仕組みを入れました。
派生クラスでは、各々入力デバイスのデータ通信、画像、サウンドを再生する仕組みを実装します。
あとは力仕事なんですが、キーボード実装が結構面倒です…#機械的にできればいいのですが。
« ノイズが出るのは… | トップページ | スレッド起動までは出来たのですが »
コメント