5

私は、Growl が Web サイトからの Growl 通知の可能性を考慮していることに気付きました。誰かがこれを実装しようとしましたか?

もしそうなら、それはどのような形をとったのですか?マルチユーザーサポートを実装しましたか? そして、コード例を提供できますか (C# または Objective-C が望ましいですが、私はそれほど大騒ぎしません)。

リッチ

4

1 に答える 1

4

さまざまな言語用のGNTP (Growl Network Transport Protocol) バインディングがあります。バインディングのリストはここにあります。これらを使用すると、たとえば PHP スクリプトから通知を送信できます。

私は、Growl の UDP システムを直接信頼するのではなく、通知を受信して​​保存するサーバー (おそらく小さな Web アプリとして) と、HTTP 経由で定期的に新しいメッセージを取得してそれらを Growl するローカル スクリプトを作成します。まったく複雑ではなく、UDP よりも信頼性が高く、Growl'ing マシンの電源がオフになっている場合や到達できない場合にメッセージをキューに入れることができます。実装に時間がかからない

基本的にserver.php、疑似 PHP (これはNet_Growlを使用できます):

<?php
if($_GET['action'] == "store"){
    $title = $_POST['title'];
    $message = $_POST['message'];
    $password = sha1($_POST['password']);
    if($password == "..."){
        store_in_database(sanitise($title), sanitise($message);
    }
} else {
    print(json_encode(get_notifications_from_database()));
    mark_notifications_as_read();
}
?>

client.py疑似 Python ( gntpを使用できます):

while 1:
    time.sleep(60):
    data = urllib.urlopen("http://myserver.com/server.php?action=get&password=blah").read()
    for line in data:
        notif = json.decode(line)
        growl.alert(notif['title'], notif['message'])
于 2009-07-10T14:37:17.217 に答える