VC++でCAsyncSocketの派生クラス(class ClientSocket)を作り
このクラスでクライアント接続するソフトを作っているのですが、
( ClientSocket は非ブロッキングモードのストリームソケットで、
OnConnect,OnReceave,OnCloseをオーバーライトしています。)
ワーキングスレッド内でClientSocketを使おうとするとOnConnectなどが反応せず悩んでいます。
(メインスレッドで使った場合は反応します。)
一応CAsyncSocketが不可視のウィンドウを持ち、そこでウィンドウメッセージを受け取りOnConnectなどを呼び出していることはわかったのですが、ワーキングスレッド内ではウィンドウメッセージが伝わらないのでしょうか。
どうかご教授のほどお願いしたします。
http://oshiete1.goo.ne.jp/qa159828.html
にも似た症状の方がいたのですが解決してないようです。
No.1ベストアンサー
- 回答日時:
「一応CAsyncSocketが不可視のウィンドウを持ち、そこでウィンドウメッセージを受け取りOnConnectなどを呼び出している」ということですので、以下の2点をチェックしてみて下さい。
・ワーキングスレッド内でウィンドウを作成しているか?
ウィンドウメッセージは、ウィンドウを作成したスレッドに投げられます。
・ワーキングスレッドでメッセージループが回っているか?
メッセージループが回っていないとウィンドウメッセージは送られてきません。
>・ワーキングスレッドでメッセージループが回っているか?
ご指摘頂いたとおり、ワーキングスレッドのwhile内でソケット処理をすべて行っていたため(初期化,接続,通信など)メッセージループが回っていなかったみたいです。
while内にPeekMessage~DispatchMessageなどを追加してメインダイアログにメッセージを送ることで解決できました。
http://www.sm.rim.or.jp/~shishido/mainloop.html
ご教授頂き有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 This paper focuses on the literature relevant to t 2 2022/12/02 09:41
- オンラインゲーム pc版fall guysでプロコンが反応しなくなりました。windowsです。プロコンをusb接続す 1 2023/02/14 17:33
- Chrome(クローム) Chromeリモートデスクトップについて 1 2022/09/02 18:40
- 数学 【高1数学】チャート式をやらずに"教科書対応問題集"をやっている人は受験に失敗すると聞いたのですがど 6 2023/08/27 11:57
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- ノートパソコン ノートパソコンの電源が入らなくなった 7 2022/05/31 15:00
- その他(ソフトウェア) Microsoft Store Guitar Pro購入後の質問 1 2022/08/11 17:15
- ドライブ・ストレージ B550M Pro4マザーにM.2_SSD取付に関して 2 2023/04/15 02:07
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ゲームでは結局どっちが良いの?
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
親ウインドウにあるOKボタンを...
-
勝手にウィンドウが開いて止ま...
-
【VB2008】 マウス操作の一時的...
-
CTなどでいう,ウィンドウレベ...
-
非アクティブのウィンドウを最...
-
基本的なことで恐縮ですが、現...
-
ウィンドウを元に戻すと、画面...
-
VB6で指定したURLに飛ばしたい。
-
グラフを別ウィンドウで立ち上...
-
Excelでの項目名固定
-
ラジオボタンの初期指定
-
デスクトップにフォーカスを移動
-
検索の画面がでなくなってしま...
-
トップレベルウィンドウって何...
-
ExcelVBA Delegate文がエラー...
-
Zオーダーが上から2番目のウイ...
-
ボタンのハンドルウィンド取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
検索の画面がでなくなってしま...
-
勝手にウィンドウが開いて止ま...
-
ゲームでは結局どっちが良いの?
-
Excelの上下を固定したい
-
VBA .Value=.Value ?
-
作成したウインドウのサイズを...
-
Vba LongPtrについて教えてくだ...
-
ExcelのBOOKが消えた!
-
ラジオボタンの初期指定
-
他のアプリケーションの終了処理
-
「&HFFFF」「&H1A」とは?
-
親ウインドウにあるOKボタンを...
-
EnumChildWindowsの使い方(VBA)
-
MFC ダイアログ上のID取得につ...
-
[VBA] UserForm を Excel の W...
-
UWSCで特定のChromeのタブをア...
-
ボタンのハンドルウィンド取得...
-
ExcelVBAでAPIを使って外部ウイ...
おすすめ情報