任 琴,孔令慧,秦 冰
(陆军工程大学 军械士官学校,湖北 武汉 430075)
本聊天室的开发是在JAVA的平台上实现的,Java语言是一种适用于网络编程的语言,它的基本结构与C++极为相似,但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足之处。本次系统开发选用的操作系统是Windows XP;开发工具为MyEclipse 7.0+命令窗口;语言程序主要是JAVA语言;Java版本为Java jdk1.6集合jre6。
在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序,服务器端和客户端通讯流程如1所示,工作原理如图2所示。
图1 通信流程
(1)服务器端工作流程:服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。
(2)客户端工作流程:客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。
图2 客户端与服务器端的工作原理流程
(3)聊天室的功能简介。①客户端功能:a.登录;b.注册;c.公共聊天;d.悄悄话;②服务器端功能:a.监听;b.踢人;c.帮助;d.开启/关闭服务器。
该聊天系统利用基于TCP协议的Socket和多线程技术能够很好地实现基本功能,它采用了典型的C/S架构,系统着重研究并实现了网络应用的部分。根据实现的情况看,基本满足了结构化、界面友好、速度快、安全性以及稳定性等特点,其功能也符合用户基本需求,具有较友好的聊天界面生成效果,以及流畅的网络通信效果。
目前本聊天系统还有待完善的功能如下:①没有实现文件传输的功能,这个对于人们越来越高的需求方面还是一个缺陷。②注册界面相对比较单一,不够详细,不能选择头像、注册性别、个性签名等等。③聊天内容不能保存,退出聊天室之后就找不到之前的聊天内容,如果在聊天过程中有比较重要的内容需要更慎重的记录。④不能像QQ那样发送图片表情,而且随意添加在聊天内容的任何位置。