APIの制御が戻らない時 – プログラミング – Home

通知
すべてクリア

APIの制御が戻らない時


なすび
 なすび
(@なすび)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

よろしくお願いします。
Windows2000,VC++6.0 MFCです。

異なる2つのポート(ポート1,2とします)を持つモデムを使う通信プログラムがあり、ポート
1でソケット通信を行い、ポート2でその他通信を行います。
その他通信では、500ms間隔でCreateFile-WriteFile/ReadFile-CloseHandleを繰り返して
いますが、何時間か繰り返すうちに、突然CloseHandleで止まってしまい、その通信が停止して
しまいます。
エラーが返って来るでもなく、プログラムが終了するわけでもない(ソケット通信は動いていま
す)のですが、CloseHandle処理が返ってこなくなる原因としてどういうことが考えられるでし
ょうか?


引用解決済
トピックタグ
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

RS-232Cの通信ですよね。
「CreateFile」は、起動時に1回、「CloseHandle」は終了時に1回でいいんじゃないでし
ょうか。


返信引用
なすび
 なすび
(@なすび)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

はい、RS-232C通信です。
通常、起動時にオープンして終了時にクローズすれば良いと思うのですが、
複数のプログラムで同時に同じ通信処理を行うため、このような形になっています。
上記のようにCloseHandleが止まってしまうのはオープン・クローズの繰り返しが
影響するものなのでしょうか。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

確か、同じのRS-232Cポートで複数のプログラムで同時に通信処理を行うことは出来ませ
ん。
処理が重なっているタイミングがありませんか?
調べてみてください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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