VC++2008にて、サーバとクライアントPCの相互通信により、
クライアントPC側で、サーバデータを表示する
エクスプローラもどきを作成しています。
サーバ側は、複数台のPCと送受信を行うため、
通信部分をマルチスレッド化しているのですが、
クライアント側は、基本的には、シングルスレッドでOKと考え、
通信部分はマルチスレッド化していませんでした。
クライアントで、ファイルアイコンをクリックしたら、
ファイルデータを受信して、ファイルをオープンし、
クローズすると、サーバへ上書きしに行く部分を、
マルチスレッドにて作成しました。
(ファイルオープンの箇所からマルチスレッド化)
問題が起こっているのは、クローズ後に、
ファイル上書きのために、CSocket派生クラスをCreateすると
落ちてしまうことです。
シングルスレッドでは、Createも正常に通るので、
マルチスレッドから、Createを呼んでることが
原因だとは思うのですが、なぜ原因となっているのか?
また、どのように修正すれば良いかが分かりません。
説明が分かりづらいかもしれませんが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
この回答への補足
CSocket/CAsyncSocketは使うべきではないということですか。
ということは、今回の件も回避策は無いということになりますね。。。
期限の面から、通信を刷新するのは
かなり厳しいので、出来れば、今回はこの点だけを
修正できることが希望だったのですが、
仕方がないのでしょうね。
別スレッドを作成したのに、AfxSocketInit()を呼んでいなかったことが
原因でした。
ただし、CSocket/CAsyncSocketには根本的なバグが
あるようですし、機会を見て刷新しようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- C言語・C++・C# ファイルがあるのにエクスプローラでは存在しない 4 2023/02/15 17:36
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- 電車・路線・地下鉄 ITパスポート試験問題 7 2023/01/25 09:51
- ネットワーク 瞬快 コンソール操作 ローカル端末のファイルをリモート端末にコピーする方法がない? 1 2023/03/17 18:56
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Access VBA を利用して、フォル...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
tmpファイル なぜできる?削除...
-
月が変わったら自動でシートが...
-
excelを共有ファイルにすると行...
-
社内Excel共有ブックでの保存ト...
-
access関数を説明できる方いま...
-
一時ファイルが消えない。
-
XMLデータを変換し印刷する方法
-
Excel VBA 処理後データが重た...
-
VBAでCSVファイルが使用中かど...
-
ファイル名の先頭に「~」が付...
-
突然の「Microsoft Excelは動作...
-
mdbファイル フォームを開くと...
-
Androidのマルチユーザーでモン...
-
テキストファイルからデータを...
-
JSONファイルの置き場所について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
月が変わったら自動でシートが...
-
tmpファイル なぜできる?削除...
-
AccessVBAで作成したExcelファ...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
事務の派遣で働いています。多...
-
Excel VBA 処理後データが重た...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
XMLデータを変換し印刷する方法
-
CSVの項目行を削除して一つのフ...
-
mdbファイル フォームを開くと...
-
社内Excel共有ブックでの保存ト...
-
ファイルの途中に文字列を挿入
-
拡張子が「cda」のファイルを聞...
おすすめ情報