Linux平台下基于GTK+的聊天室设计
2012-10-27余长江周渊平吕海龙
余长江, 周渊平, 吕海龙
(四川大学 电子信息学院,四川 成都 610065)
0 引言
Linux作为一种开放源代码的操作系统,对于软件未来的发展方向起着一定的引导作用,其主要特点有:源代码完全开放;具有多用户特性并支持多进程与多线程;系统安全性可靠;拥有良好的用户界面;网络功能强大;支持多平台;良好的兼容性等等。由于 Linux系统的诸多特性,使其在服务器和个人应用以及企业开发领域中的应用越来越普遍[1],在Linux环境下开发图形界面也成为了众多编程者的选择。
GIMP是一种基于 Linux平台且能与Photoshop相媲美的图像处理软件,而 GTK+最初则是 GIMP的专用开发库,后来逐渐发展为Linux下开发图形界面应用程序的主流工具之一,它使用 C语言开发,可以灵活的应用于不同系统,备受开源软件开发者瞩目。GTK+具有的特性如下:动态类型系统;用C语言编写对象系统;实现了继承、类型检验,以及信号/回调函数的基础结构;类型和对象系统不特别针对GUI;GTK Widget对象使用对象系统,它定义了GTK+的图形组件的使用接口;大量的 GTKWidget构件[2]。GTK+2.0的协议 GNU宽通用公共许可证(LGPL,GNU Lesser General Public License),允许任何开发者使用(包括那些开发中的专利软件)且不收取任何费用。GTK+2.0是当今唯一100%零付费的工业级的图形界面开发工具 。采用GTK+2.0编程技术设计出一个聊天室,再结合多线程技术,可实现在服务器端和客户端之间的聊天功能。
1 聊天窗口的设计
本聊天室分为服务器端和客户端两部分,采用GTK+2.0,即可用简短的代码来编写窗口并向窗口中插入各个控件,通过灵活地使用信号/回调函数机制,实现通信连接、信息发送、关闭窗口等功能,聊天室如图1和图2所示。……
