基于java的C/S模式网络聊天器的设计实现
摘要
在网络飞速发展的今天,互联网上存在大量的信息,人与人之间的沟通、信息交换显得尤为重要。本系统通过java的Socket实现了一个基于局域网和网络的聊天室的程序的开发。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,大大增强了程序对服务器资源的利用。聊天系统完成后,具有发送消息、接收消息等功能。关键字:聊天室;Java;Socket;C/S;TCP;多线程
ABSTRACT
Therapiddevelopingofnetworktoday.ThereisalargenumberofinformationinInternet,soitisveryimportantforpeopletocommunicatewitheachotherandexchangeinformation.Thissystemdevelopsaprogrambasedonachatroomofnetlineand
web,throughSocketofjava.SystemusestheC/Sstructure,clientandclient-sideandserver-sideclientandsendmessagesthroughSocket.TheuseofJAVAlanguage,developmenttoolsusingEclipse.DesignandImplementationofserver-sideprocess,theuseofmulti-threadingtechnology,whichcanprocessgreatlyenhancedtheuseofserverresources.Chatsystemcansendmessages,receivemessagesandsoon.KeyWords:ChatRoom;Java;Socket;C/S;TCP;Multithreading
I
基于java的C/S模式网络聊天器的设计实现
引言
在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,尤其在网络技术开发中,面向对象的Java语言编程和相关的Java技术正在以前所未有的速度发展。本次科研训练——基于java的C/S模式网络聊天室的设计实现,是采用客户机/服务器架构模式通过JAVA提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信。在本论文中介绍了聊天器
系统的设计方案。第1章为绪论,包括国内聊天系统现状、JAVA语言以及Socket编程。第2章为设计方案,包括设计思路、设计方法。第3章为设计结果与分析。
1绪论
1.1Socket套接字
Socket是网络程序中最
常用的方式,用于建立两个不同
程序之间通过网络进行通信的信道。套接字是IP与端口的组合,可以分辨在internet上运行的程序。客户端呼叫:在客户端使用socket类,指定服务器IP和端口号,以便连到服务器上:Socket(host_IP,prot);服务器端等待:在服务器端使用ServerSocket类,以等待客户端的连接:ServerSocket(port);在客户端,建立socket连接后,还应该建立输入输出数据流。getInputStream()获得输入流;getOutputStream()获得输出流。在服务器端,ServerSocket类的accept()方法使服务器处于阻塞状态,等待用户请求。
1.2Socket与TCP
ServerServerSocket(port#)ServerSocket.accept()Socket()OutputStreamInputStreamCloseSocketClientSocket(host,port#)Attempttheconnection
OutputStreamInputStreamCloseSocket
1
基于java的C/S模式网络聊天器的设计实现
2
设计方案 2.1设计思路
运用JAVA程序编写聊天室,实现简单聊天功能。它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.swing.包和java.awt.包,程序实现了聊天室的基本功能,其中有:启动服务器:等待
网络的连接;启动客户端:实现网络的连接,为进入聊天功能做准备;发送消息:为用户发送消息提供平台;接受信息:为用户接受消息提供平台;关闭服务器:断开与网络的连接,退出聊天室。
2.2设计方法
在设计简单聊天室时,需要编写2个
Java源文件:Server.java和Client.java.另外还需要java系统提供的一些重要的类,如JTextField、JTextArea和File类。
3设计结果与分析
首先运行启动服务器的文件server.java,运行结果如下:
结果分析:在进行聊天之前必须首先启动服务器,实现服务器端的等待连接。其次运行启动客户端的文件client.java,运行结果如下:
2
基于java的C/S模式网络聊天器的设计实现
结果分析:启动客户端,实现服务端的成功连接,为聊天做准备。最后是客户端与服务端的
通信,运行结果如下:
结果分析:客户端与服务端可进行简单的通信,可发送并接收字符、数字等。
3
基于java的C/S模式网络聊天器的设计实现
4结论
本次科研训练完成的是一个利用JAVA技术开发聊天室系统。在训练阶段,查阅了许多相关的资料,实现了聊天器的基本功能。在设计的过程中,了解到自己的知识比较有限,更肯定了在日后的学习当中,应该有一种不断进取的精神。此次设计的方案还有很多不足,比如功能不够完善,聊天环境只是最基本的界面等等。通过两个星期的科研训练,我懂得了理论与实际相结合的重要性,同时丰富了学识,从中学到了编程思想,提高了自己的独立思考能力。相信通过这次
课程设计,对以后的
学习和程序设计会有很大的帮助。
致谢
在本次科研训练中,我要感谢我的同学们,他们为我的设计提供了不少帮助,更要感谢王选宏指导老师,为我们讲解了JAVA语言的基础知识,以及关于TCP的网络编程知识,再次感谢王老师给我提供的帮助。
参考文献
(1)吴萍等.Java程序设计.北京:清华大学出版社.2006(2)刘永华等.Java网络编程技术.北京:清华大学出版社.2008(3)罗军周等,TCP/IP协议及网络编程技术.清华大学出版社.2008(10)(4)孙一林,彭波.Java网络编程实例.清华大学出版社.2003(4)(5)王鹏.JavaSwing图形界面开发与案例详解.清华大学出版社.2008
4