APP下载

Linux平台下基于GTK+的聊天室设计

2012-10-27余长江周渊平吕海龙

通信技术 2012年5期
关键词:网络通信程序

余长江, 周渊平, 吕海龙

(四川大学 电子信息学院,四川 成都 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所示。……

登录APP查看全文

猜你喜欢

网络通信程序
海上军用网络通信的安全控制技术
基于网络通信的智能照明系统设计
试论我国未决羁押程序的立法完善
计算机网络通信常见问题与技术发展研究
网络通信中信息隐藏技术的应用
基于网络通信的校园智能音箱设计
失能的信仰——走向衰亡的民事诉讼程序
谈计算机网络通信常见问题及技术发展
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序