我注意到,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'])