2009-07-10 13 views
5

Me di cuenta de que Growl permite la posibilidad de notificaciones Growl desde un sitio web. ¿Alguien ha intentado implementar esto?Notificaciones Growl de un servidor web

Si es así, ¿qué forma tomó? ¿Implementaron soporte para usuarios múltiples? Y, ¿puede proporcionar algún ejemplo de código (C# o Objective-C sería preferible pero no estoy tan alborotado)?

Rich

Respuesta

4

Hay GNTP (protocolo de transporte de red) Growl enlaces para varios idiomas, un list of bindings can be found here - éstos permiten que se envíen notificaciones de, por ejemplo, un script PHP.

No confiaría en el sistema UDP de Growl directamente, sino que escribiría un servidor que recibe y almacena notificaciones (tal vez como una pequeña aplicación web), y un script local que capta rutinariamente cualquier mensaje nuevo a través de HTTP y Growls. No es complicado en absoluto, será más confiable que UDP y puede poner en cola los mensajes cuando su máquina Growl'ing esté apagada o sea inalcanzable. no debe tomar mucho tiempo para poner en práctica

Básicamente, server.php en pseudo-PHP (que podría utilizar 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 en pseudo-Python (que podría utilizar 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']) 
Cuestiones relacionadas