刚拿到这个项目的时候,自己就立刻联想到了QQ和微信,这是当下最热门的两大聊天软件。手指反复在手机上翻看着这两个软件,发现这两个软件的功能好强大啊,自己所学的这点系统和网络编程的知识完全不够看,感觉难度太大了。因为这两款软件用了比较强大的图形界面,而我仅仅学习了c语言以及系统和网络编程,唯一接触到带点图框画面的就只有curses图形函数库。
于是我就想到了老师们所提到的用来做图形界面的qt,我开始上百度去查找相关的资料,网上很多都是在讲这个软件多么的厉害,但却没几个讲解怎么去用这个软件。于是我就寻找相关的教学视频,勉强的看了一集,发现我暂时是用不了了,因为这个图形界面软件是要在C++的基础上制作的,我们还没有开始接触C++,所以我就放弃了用qt来做这个项目的想法。
我开始上网搜查能在C语言基础上编写图形界面的库函数,于是我便找到了用gtk开发环境来编写图形界面。我就在网上找了许多有关gtk相关的函数用法,自己慢慢尝试了解这个函数的使用,从简单的制作一个图框到能输入文字的登录框,然后一个一个图形链接的实现。登录完成后,就进入主界面,到了这里也就遇到了一些问题了,在线好友列表可以显示出来,但是无法实现实时更新好友界面,这个问题困扰了我很长的时间,期间也问过一些同学和老师,但他们都没怎么用过这个库函数,自己独自在网上查了很多东西,一无所获,也不断地尝试了好几遍,皆以失败而告终。
不知不觉已过去四天了,眼看答辩时间就快到了,根本没有那么多的时间再去研究这个图形界面了,当下心一横,就先做个简易的聊天软件吧,不需要什么界面了,不然很难完成答辩的,于是到了周四晚上十点就开始着手简易聊天软件的编程。
有了之前四天时间的图形界面的摸索,虽然并没完成,但是大概构架思路基本已了然于胸,编写起来就顺手多了,差不多用了两天时间就基本弄好了简易版的了。
不过,总体来说还是有不少问题的,因为简易版的功能比较少,仅仅就满足了项目的大致要求,进入主界面后就只有显示在线好友并实时刷新以及单聊和群聊功能了。在这个项目中可能自己一开始想的太好了,可没想到图形界面不是一朝一夕就能够学好的,存在的问题还是挺多的,然后就是在简易版编程过程中,数据传输问题偶尔会困扰自己。
总的来说,这次项目的感触还是挺多的,有些东西自己可能想的还不够全面,自己的能力也非常的有限,想好的许多功能都有点难实现,不过既然有挑战,我也不会退缩,我会迎难而上,正所谓学如逆水行舟,遇到困难不是想着躲避,也不是一味去寻求他人的帮助,有些困难是需要自己去努力解决的,这样才能更好的理解,更好的学到知识。