2009-07-10 14 views
5

मुझे लगता है कि ग्रोवल वेबसाइट से ग्रॉल नोटिफिकेशन की संभावना के लिए अनुमति देता है। क्या किसी ने इसे लागू करने की कोशिश की है?वेब सर्वर से ग्रोली नोटिफिकेशन

यदि हां, तो यह किस रूप में लिया गया? क्या आपने बहु उपयोगकर्ता समर्थन लागू किया था? और, क्या आप कोई कोड उदाहरण प्रदान कर सकते हैं (सी # या उद्देश्य-सी बेहतर होगा लेकिन मैं उस फंस नहीं कर रहा हूं)?

रिच

उत्तर

4

GNTP (गुर्राना नेटवर्क परिवहन प्रोटोकॉल) विभिन्न भाषाओं के लिए बाइंडिंग, एक list of bindings can be found here रहे हैं - ये आप से कहते हैं, एक PHP स्क्रिप्ट सूचना भेजने के लिए अनुमति देते हैं।

मैं ग्रोवल की यूडीपी प्रणाली को सीधे भरोसा नहीं करता, बल्कि एक सर्वर लिखता हूं जो नोटिफिकेशन प्राप्त करता है और स्टोर करता है (शायद एक छोटा वेब ऐप के रूप में), और एक स्थानीय स्क्रिप्ट जो नियमित रूप से HTTP के माध्यम से किसी भी नए संदेश को पकड़ती है और उन्हें ग्रोल्स करती है। बिल्कुल जटिल नहीं, यूडीपी से अधिक विश्वसनीय होगा, और आपकी ग्रोलिंग मशीन संचालित या पहुंच योग्य होने पर संदेशों को कतारबद्ध कर सकती है। छद्म अजगर में

<?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 (gntp इस्तेमाल कर सकते हैं जो): लंबे समय से नहीं लेना चाहिए छद्म PHP में

असल में, server.php लागू करने के लिए (Net_Growl इस्तेमाल कर सकते हैं जो)

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']) 
संबंधित मुद्दे