欢迎来到天天文库
浏览记录
ID:35809117
大小:285.50 KB
页数:10页
时间:2019-04-19
《局域网广播系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、XX学院计算机科学与技术系实验报告课程名称程序设计基础实验(2)实验项目应用系统的面向对象设计与分析实验类型综合性实验完成人所在班级指导教师完成日期2009年11月29日9实验报告正文一.实验报告简表实验课题名称局域网广播综合性实验项目应用系统的面向对象设计与分析服务课程程序设计基础实验(2)实验小组组长指导教师参与实验人员及其在实验课题中承担的主要任务(包括组长)学号小组成员姓名班级在实验课题中的主要作用二.设计内容与要求1、多点广播是一种新的技术,可以把信息发送给等待接受的接受者,利用Java的Socket通信技术,设计一个网络
2、广播系统,可以随时发送服务器的内容。2、客户端运行相应的客户端程序,连接服务器就可以接受到服务器的广播的信息,客户端可以随时开始或停止接受广播。三.总体设计,包括需求分析、功能描述、设计工具与运行环境、类及类间关系描述等TCP/UDP编程比较简单、功能强大,深受喜爱,基于TCP/UDP的通信在Internet网中广泛应用。其特点:TCP9是面向连接的可靠的协议,适用于传输大批量的文件,检查是否正常传输;UDP是面向非连接的不可靠的协议,适用于传输一次性小批量的文件,不对传输数据报进行检查;TCP需要先建立连接才能通话;UDP不需要,
3、实时性比较高。“英语在线学习”利用“局域网广播”的原理,TCP的socket编程实现客户端和服务器的连接通信,其实现功能如下:1、客户端:可以实现服务器在线,客户端时时连接,连接的客户端就可以接受服务器发送的信息,客户端也可随时关闭其连接。2、服务器端:时时监控客户端的连接,可连接多个客户端,并显示连接的客户端的Ip地址。输入要发送客户端的信息,比如“English英语”,点击“发送”按钮,连接的所有客户端都能接受同样的信息。设计工具:eclipse(Release3.5.1)和JDK6.0运行环境:WindowsXP类及类间关系服
4、务器端:Frame类Thread类ServerThread类主类Server类Server类包含main()函数,完成窗口的创建和显示,以及信息的发送ServerThread完成客户端的连接请求。客户端:9Frame类Thread类FrameOut类connectedMsg类主类ClientClient是主类调用FrameOut完成窗口的创建、显示,connectedMsg是个子线程,负责连接服务器。四.详细设计,包括类图及代码等服务器端Server类Frame类1、“Server”类继承“Frame”类,实现窗口的创建和显示,并监
5、听各组件的动作,同时开启多线程,ServerThread类的线程。监听“closebtn按钮”,退出系统,并释放所有的资源。if(e.getSource().equals(closeButton)){dispose();System.exit(0);//退出系统}92、监听“sendButton”按钮,“sendButton”按钮有动作发生时,取得文本框的内容。有客户连接时,把信息发送给客户端,否则显示“没有客户”if(e.getSource().equals(sendButton))//如果是发送按钮,执行下面{Stringmes
6、sage=sendMsg.getText();//获得要发送的信息if(socketVe.size()==0)//判断socketVe是否为空{connectIP.setText("没有客户连接");//}else{for(intn=0;n7、eUTF(message);//发送消息sOut.flush();}catch(IOExceptione1){}//}}}因为在加入的客户端的个数无法确定,所以必须设计一个不定的Vector数组才最合适,既不会浪也不出现设计的太小而无法满足客户的连接publicVectorsocketVe=newVector();//Socket的管理器2、“ServerThread类”继承于Thread,在main()的中开启线程,时刻监听客户端的请求连接,加入自己的Verctor(Socket)中,以便发送。Th8、read类ServerThread类9publicvoidrun(){try{serverSocket=newServerSocket(5600);//在5600端口监听客户端}catch(IOExceptione1){e1.prin
7、eUTF(message);//发送消息sOut.flush();}catch(IOExceptione1){}//}}}因为在加入的客户端的个数无法确定,所以必须设计一个不定的Vector数组才最合适,既不会浪也不出现设计的太小而无法满足客户的连接publicVectorsocketVe=newVector();//Socket的管理器2、“ServerThread类”继承于Thread,在main()的中开启线程,时刻监听客户端的请求连接,加入自己的Verctor(Socket)中,以便发送。Th
8、read类ServerThread类9publicvoidrun(){try{serverSocket=newServerSocket(5600);//在5600端口监听客户端}catch(IOExceptione1){e1.prin
此文档下载收益归作者所有