CSocketのメッセージが溜まる – プログラミング – Home

CSocketのメッセージが溜まる
 
通知
すべてクリア

CSocketのメッセージが溜まる


あばれ八尺
 あばれ八尺
(@あばれ八尺)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

はじめて書き込みさせていただきます、あばれ八尺ともうします。
以後、お見知り置きのほどよろしくお願いいたします。

現在、ソケット通信を行うDLLを作成していますが、ちょっと困ったことが
発生しています。CSocketは、何が何でもソケット関連のメッセージを
親ウィンドウに送りつけているみたいで、DLL関数内で送信&受信を
繰り返すと、DLLを呼び出ししている親ウィンドウにソケットメッセージが
溜まってしまい、DLL関数を連続呼び出ししたりすると、おかしな現象が
発生します。具体的には、タスクバーがチカチカと点滅します。
この現象を抑制するためには、DLL自らメッセージの受け皿となるダミー
ウィンドウを作成する以外、方法はないでしょうか。
ちなみに、DLL関数を連続呼び出しする際、定期的にDoEventsを呼び出して
やると、メッセージが大量に溜まらなくなるため、チカチカ現象は発生しません。
しかし、呼び出し側のPGは、DoEventsを呼び出しできない仕様となっているため
大変困っています。

もし、何かいい対策がありましたら、ご教示願います。

あばれ八尺


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CAsyncSocket::Create()の引数には、どのイベントを受け取るかという
フラグが指定できますので、これを「全てなし」にしてみてはどうでしょうか?


返信引用
あばれ八尺
 あばれ八尺
(@あばれ八尺)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

dairygoodsさんレスありがとうございました。
CAsyncSocket::Create()を見て、CAsyncSocket::AsyncSelectの
存在に気付きました。CAsyncSocketでイベントを減らしたところ
現象はほぼ改善されました。本当にありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました