欢迎来到天天文库
浏览记录
ID:17642083
大小:322.50 KB
页数:14页
时间:2018-09-04
《java通信程序设计课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java通信程序设计课程设计报告题目Java网络聊天室程序设计学生姓名学号院系电子与信息工程学院专业通信工程2013年12月Java网络聊天室程序设计翟轶彪,20121334080南京信息工程大学通信工程系,南京210044摘要:随着网络信息时代的来临,Internet应用越来越广泛人们越来越习惯于在网上获取和交流信息。据调查显示,80%以上的人上网都会打开聊天工具来聊天,而几乎每一个年轻人都会去聊天。使用网上聊天已经成为现代年轻人一种新的交往方式。聊天室更适合于陌生人之间进行较为主观、感兴化的讨论。所以有大部分的人会进入聊天室聊天它会给人一个完全自由的聊天世界。因此我们联
2、系所学的知识做一个简易的聊天室系统。关键词:网上聊天;聊天室一、背景知识1.SOCKETSocket可以看成在两个程序进行通讯连接中的一个端点,是连接应用程序和网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定与网络驱动建立关系。此后,应用程序送给Socket的数据,由Socket交网络驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定IP地址和端口号相关的数据后,由网络驱动程序交给Socket,应用程序便可从该Socket中提取接收到得数据,网络应用程序就是这样通过Socket进行数据的发送与接收的。1.1创建Socket;1.2打开连接到Socket的
3、输入/出流;1.3按照一定的协议对Socket进行读/写操作;1.4关闭Socket.2.IO技术2.1阻塞模式2.2可能造成阻塞的函数有:connect()、accept()、读写函数3.C/S两端通过Socket机制进行连接3.1客户端的编程流程:3.1.1创建Socket对象,向Server的监听端口请求;3.1.2通过向新Socket中读写数据与Server端通信;3.1.3关闭Socket,结束与Server端;3.2服务器端的编程流程:3.2.1打开ServerSocket,创建一个服务器型套接字和一个普通套接字,服务器型套接字在指定端口为客户端请求的Socket服
4、务;3.2.2等待来自客户端的Client端的请求;3.2.3接收Client端的请求,用返回的Socket建立连接;3.2.4通过向Socket中读写数据来与Client端通信;3.2.5关闭Socket,结束与当前Client端的通信;3.2.6关闭SerketSocket对象结束监听服务。二、设计思想1.客户端设计思想客户端主要完成建立连接、消息输入、消息发送、消息存储功能。功能含义如下:1.1建立连接:建立一个ServerSocket连接,不断侦听是否有服务端连接或者断开连接。1.2消息输入:根据用户输入的消息,将消息显示在屏幕面板上。1.3消息发送:把用户输入的消息作
5、为字符串通过Socket端口发送到服务器。1.4消息存储:把用户输入的消息存储到data.txt文件中,以便用户以后查阅聊天记录。2.客户端设计2.1界面设计2.2连接设计2.3接收信息设计2.4用户信息设计2.5帮助设计3.客户端连接服务器端客户端用户设计的IP地址和端口号连接到相应的服务器,通过接收用户输入的消息,然后通过所监听的端口把消息发送到服务端,由服务端把消息发送到指定的用户。3.1客户端请求连接客户端通过connect()请求连接,填写端口号以及IP地址,填写自己的信息。3.2服务器端响应服务器端的监听器监听到客户端的连接请求后,检测后允许客户端连接到服务器。3.
6、3给客户端返回信息连接成功后服务器返回给客户端连接成功的信息,并且给所有的用户发送用户登录信息。3.4关闭Socket连接当以上的程序都正常运行后,需要关闭Socket连接,否则将会浪费服务器与客户端之间的资源。3.5用户退出3.5.1接收退出信息当用户退出时,客户端将会用基于Socket的对象输出流发送给服务器退出对象。3.5.2在线列表中删除用户用户退出后应该把用户从在线列表中删除,否则用户退出用户还在在线列表中,那么该用户下次将会无法登录。3.5.3更新在线列表用户退出后将服务器端监控界面的用户列表更新。否则用户数据将会不同步。4.服务器设计思想主服务器类实现了服务器端的
7、多线程,使用SeverSockets=newServerSocket(8080)语句在8080端口创建套接口;使用newServerThread(socket)语句创建新的线程。主服务器类调用ServerThread类,而每个ServerThread实体就是一个独立的线程,刚好对应于客户端的连接请求响应线程。服务器端有一个(或多个)进程在指定的端口等待客户的连接信息,一旦连接成功,就可以按设计的数据交换方法和格式进行数据传输。服务器端完成的功能是:对服务器的某一可用端口进行监听,以获得客户端
此文档下载收益归作者所有