ローカルネットワーク用の簡単なピアツーピアインスタントメッセンジャーを作成しています。これはiniファイルを使用してUUIDを解析し、ネットワーク全体の識別子として使用します。 iniファイルは、QSettingsオブジェクトを通じてアクセスされます。私はプログラムの複数のインスタンスを同じコンピュータ上で実行できるようにするための機能を書いています。最初のプログラムが実行されると、最初のエントリのiniファイルが読み込まれ、読み込まれていれば "INUSE"に置き換えられます。終了すると、キー値が元のUUIDに置き換えられます。プログラムの別のインスタンスがiniファイルを読み込み、最初のキー値としてINUSEを読み込んだ場合は、その後ろに別のインスタンスを作成し、取得し、INUSEタグを2番目のキー値に置きます。クラッシュの場合に更新が必要なQt5 iniファイル
これはうまくいきますが、プログラムがクラッシュした場合、「INUSE」だったUUIDが失われ、手作業で取り出すまでINUSEが残ってしまいます。同じことを成し遂げているシステムでクラッシュするのをどうやって説明できますか?
IveはQLockFileを見ましたが、私はそのようなシステムをどのように実装するのか正確に頭を覆すことはできません。
コメントありがとうございます。
次のようにiniファイルの現在の形式は:
[uuid]
1={uuid1}
2={uuid2}
プログラム1は
[uuid]
1=INUSE
2={uuid2}
プログラム
本質的[uuid]
1={uuid1}
2={uuid2}
何の正常終了後に実行している間私はプログラム実行の間にデータを保存する方法が必要ですが、前記データは現在使用されている。
ありがとうございます。プログラムは私が現在認識しているところでクラッシュしませんが、UNIX上でSIGKILLメッセージが送信されたり、Windows上で同等のものが送信された場合、オリジナルの投稿の状況が表示されます – cbpeckles
@cbpeckles次に、悪い言葉のIMO。私はあなたがそれを修正しなければあなたが望む答えを得られないとは思わない。 –