中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Learn more

Windows Aero:绘制“玻璃”的颜色是什么颜色?

我必须在客户区涂上什么颜色才能使玻璃出现? 我已经把我的表单框架扩展到客户区使用: DwmExtendFrameIntoClientArea(self.Handle, margins); 我找不到任何官方文档从微软的DWM将寻找什么颜色和/或阿尔法replace玻璃。 DwmExtendFrameInClientArea文档甚至没有提到自定义颜色是必需的。 只有传闻和神话,甚至需要特殊的颜色。 我能find的最接近MSDN的话题是: 使用DWM自定义窗口框架 为了使扩展帧可见,每个扩展帧边下的区域必须具有α值为0的像素数据。 更新:和一个博客文章: 面向开发人员的Windows Vista – 第3部分 – 桌面窗口pipe理器 偶尔,RGB黑色(0x00000000)的位模式与100%透明ARGB的位模式相同,因此您可以使用“黑色”GDI笔刷进行绘制,并假设您已经指示DWM模糊绘制区域,结果将是所需的玻璃效果。 如果我从字面上理解( alpha值为零的像素数据 ),我构build一个零alpha的颜色,并在扩展区域绘制: Color fillColor = Color.FromArgb(0, 0, 0, 0); //(a, r, g, b) e.Graphics.FillRectangle(new SolidBrush(fillColor), e.ClipRectangle); 但玻璃效果不会出现: 替代文字sof/windows/anlmd4.png 如果我忽略引用的MSDN主题,而是使用完全不透明的黑色(而不是完全透明的黑色): Color fillColor = Color.FromArgb(255, 0, 0, 0); //(a, r, g, b) e.Graphics.FillRectangle(new SolidBrush(fillColor), e.ClipRectangle); 玻璃效果确实出现: 替代文字sof/windows/2ug2ias.png 那么我就会相信不透明的黑色是DWM将用玻璃代替的像素值。 […]

与Windows上的本地主机IPC上的命名pipe道相比,TCP套接字有多慢?

我正在开发一个TCP代理服务器,放在一个TCP服务器的前面,该服务器应该处理来自野生互联网的500到1000个活动连接。 代理与服务在同一台机器上运行,并且大部分是透明的。 该服务大部分不知道该代理,唯一的例外是通知客户端的真实远程IP地址。 这意味着,对于每个入站打开的TCP套接字,服务器上还有两个套接字:代理中的第二个套接字,以及代理服务器后面的实际服务中的第二个套接字。 两个代理套接字上的发送和接收窗口大小设置为1024个字节。 这对性能有什么影响? 这种configuration有多慢? 我应该把一些努力改变服务使用命名pipe道(或其他IPC机制),或本地TCP套接字大部分是一个有效的IPC? 两个应用程序的合并不是一个选项。 现在我们被困在两个过程configuration中。 编辑 :在同一个硬件上有两个单独的过程的原因是100%的经济。 我们只有一台服务器,而我们不打算多收(没钱)。 TCP服务是Visual Basic 6中的一个传统软件,超出了我们的预期。 代理是C ++。 我们没有时间,金钱和人力来重写和迁移VB6代码到一个现代的编程环境。 代理服务器是我们试图减轻服务的特定性能问题,这是我们不时得到的DDoS攻击 。 代理是开源的, 这里是项目源代码 。