2009-07-10 2 views
5

Я замечаю, что Growl позволяет получать уведомления Growl с веб-сайта. Кто-нибудь пытался это реализовать?Уведомить уведомления с веб-сервера

Если да, то в какой форме? Вы реализовали многопользовательскую поддержку? И, можете ли вы представить примеры кода (предпочтительнее использовать C# или Objective-C, но я не так суетился)?

Rich

ответ

4

Есть GNTP (Growl Сетевого протокол) привязки для различных языков, а также list of bindings can be found here - это позволит вам отправлять уведомление от, скажем, PHP скрипта.

Я не буду доверять системе UDP от Growl напрямую, а скорее напишу сервер, который получает и хранит уведомления (возможно, как крошечное веб-приложение), и локальный скрипт, который регулярно захватывает любые новые сообщения через HTTP и выращает их. Совсем не сложный, будет более надежным, чем 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']) 

 Смежные вопросы

  • Нет связанных вопросов^_^