0

友人や同僚の皆様、こんにちは。

ネットワークコンピューターのステータスを決定するソフトフォンであるpyt4でプログラムの機能を作成しようとしています。

ネットワークがインターネットへの接続を失った場合、プログラムはネットワークが復元されるまで待機し、サーバーに自己接続するアプリのコアをすぐに再起動する必要があります

コアの再起動は、「reload」メソッドによって行われます。

しかし、クロスプラットフォームもやりたいです

Windows、Linux、ダーウィン、

このリンクに似たものを見つけました: http://www.themacaque.com/?p=751

リロード方法:

def reload(self):
    self.config = ConfigParser.RawConfigParser()
    self.config.readfp(getConfig())
    self.tray.setIcon(self.inactiveIcon)
    self.controller.core.restart_core()
4

1 に答える 1

2

あなたが示す例は、Qt4に依存しないように書かれているため、ネイティブ実装を使用しようとしています(私は投稿の著者です)。すべてのプラットフォームで PyQt4 を使用しても問題がない場合は、 QNetworkAccessManagerにあるnetworkAccessibleChangedシグナルの使用を検討する必要があります。

それが不可能な場合は、作業しているプラ​​ットフォームに応じて使用される同じインターフェイスの異なる実装を作成する必要があります。たとえば、次のようになります。

  • Windows: ブログに投稿したコードを使用します。
  • Linux: NEtworkManager が接続の状態を通知する DBus 信号を使用できます。
  • Mac OS X: SystemConfiguration フレームワークは、接続の状態を通知するシグナルの同様のセットです。

あなたのソフトウェアがオープンソースであり、canonical がコードの著作権を持っていることを気にしない/気にしない場合は、ここで Ubuntu One 用に記述した実装を確認できます。

于 2012-10-15T08:45:33.923 に答える