我注意到,Growl允许从网站发出Growl通知。有没有人尝试实现这一目标?

如果是这样,采取什么形式?您实现了多用户支持吗?并且,您能否提供任何代码示例(最好使用C#或Objective-C,但我并不那么在意)?

富有的

最佳答案

每种语言都有GNTP(Growl网络传输协议(protocol))绑定(bind),即list of bindings can be found here-这些绑定(bind)使您可以从PHP脚本发送通知。

我不会直接信任Growl的UDP系统,而是编写一个用于接收和存储通知的服务器(也许是一个小的Web应用程序),以及一个本地脚本,该脚本通常会通过HTTP抓取任何新消息并将它们存储在Growls中。一点也不复杂,它将比UDP更可靠,并且可以在 growl 的计算机断电或无法访问时将消息排队。实现时间不应该太长

基本上,伪PHP中的server.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();
}
?>

伪Python中的client.py(可以使用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'])

10-06 09:32