我觉得这应该很简单,但我想我错过了一些东西.
所以我想用一个库存图像设置一个窗口的图标.我试过了:
windowIcon = gtk.image_new_form_stock(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_MENU)
window.set_icon(windowIcon.get_pixbuf())
Run Code Online (Sandbox Code Playgroud)
然后Python抱怨说:
文件"./sample.py",第44行,在init
window.set_icon(windowIcon.get_pixbuf())
ValueError:image应为GdkPixbuf或为空
我尝试将gtkImage转换为GdkPixbuf,因为当我没有python抱怨时
TypeError:icon应为GdkPixbuf或None
在pygtk文档中,它说:
如果映像的存储类型不是gtk.IMAGE_EMPTY或gtk.IMAGE_PIXBUF,则会引发ValueError异常.
所以我猜测库存图像的存储类型是错误的.问题是如何解决这个问题?
我正在使用Unix域套接字进行一些测试,我可以毫无问题地通过它们进行通信,但是,当我accept()在测试程序的服务器端调用时,返回的struct sockaddr_un不包含sun_path.
我很确定Inet套接字在accept()通话后正确填写了地址和端口,所以我在测试程序中做错了什么,或者我期待错误的结果?
我正在运行CentOS 6.2和gcc 4.4.6.
示例代码:
server.c
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define NAME "socket"
int main(int argc, char **argv)
{
int sock, msgsock, rval;
struct sockaddr_un server, client;
char buf[1024];
sock = socket(AF_UNIX, SOCK_STREAM, 0);
if (sock < 0) {
perror("opening stream socket");
exit(1);
}
server.sun_family = AF_UNIX;
strcpy(server.sun_path, NAME);
if (bind(sock, (struct sockaddr *) &server, sizeof(struct sockaddr_un))) {
perror("binding stream socket");
exit(1); …Run Code Online (Sandbox Code Playgroud) 我目前在php中创建了一个具有数据库后端(可以是MySQL或SQL Server)的网站,最近我意识到如果我的数据库随时崩溃,我的网站将无法正常运行并可能引起一些麻烦.
那么,如果我的数据库(或任何关键的外部组件)出现故障,在网站上显示的内容是什么?我的特定网站在很大程度上依赖于它的数据库,没有它就几乎没用.
我被告知的一个选项是通过电子邮件发送网站管理员并显示错误500页面,该页面显示服务器出现问题,并且基本上使网站无法使用,直到问题得到解决.我还能做些什么来解决这个问题吗?有没有办法设计一个网站,以便数据库(任何关键组件)崩溃不是一个问题?
我正在寻找一般的经验法则以及人们过去如何解决这个问题的具体例子.此外,这些示例不仅仅是我的网站示例.