ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:171.67KB ,
资源ID:14105705      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14105705.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机网络课程设计Word格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机网络课程设计Word格式.docx

1、 聊天程序:完成广播的公共聊天平台和单播的私人聊天,并应具有简单的帐号管 理功能; 文件传输程序:完成服务器端可供传输文件浏览、客户端目标路径可选、指定文件传输等功能; 电子邮件程序:完成客户端在线收、发邮件,管理邮件等功能。 套接字编程任选题目2、撰写课程设计报告题目、目的、方案设计、调试结果、心得体会。3、周一查阅资料,设计方案;周二至周四上机编写代码,调试实现;周五演示程序、答辩,并上交课程设计报告。4、两名同学一组,自由组合,并根据完成任务量情况署名。5、撰写课程设计报告:封皮(设计题目、专业、班级、学生姓名、学生学号、指导教师姓名、起止时间)、具体任务、软件环境、算法设计思想及流程图

2、、源代码、运行结果、收获及体会、参考文献成绩评定方法:按对套接字基本知识的掌握程度,选定软件项目的典型性和难度,分析设计方案是否正确,功能实现是否完善,文档说明是否清楚、准确,格式是否规范等环节评分。成绩按优、良、中、及格、不及格五级分制评定。指导教师签字:路莹 肖鹏 系(教研室)主任签字:课程设计报告设计题目:套接字网络通信程序 专 业 计算机科学与技术 学 生 1 计算机092-09王磊 学 生 2 计算机092-12 郑林 指导教师 路 莹,肖 鹏 起止时间 2012.6.252012.6.29 一、需求分析: 编写一个聊天程序,能够实现广播的公共聊天平台,并具有简单的帐号管理功能。采用

3、c/s模式,基于winsock套接字的网络通信程序,可实现双机通信。二、概要设计客户端模块功能: 界面:显示登录按钮,退出按钮,消息显示框,消息发送框,发送按钮等功能性组件,及用户名,服务器IP,参与者等提示信息。 登录:输入用户名,服务器IP,点击登陆按钮,实例化一个本地套接字,然后实例化客户端线程用来建立和服务端的连接。 退出:关闭套接字,停止线程运行,并重新置空值。 消息发送:使用登录时建立的套接字发送消息给服务器。 消息接受显示:把从服务端传递过来的消息显示在聊天内容框。算法设计:(1) public class ChatClient 模块:该模块作为创建客户的方法,其中包含客户端套接

4、字的定义模块,客户端图形界面设计模块,连接服务器模块,接收消息的线程体模块,客户端按钮监听模块,监听处理模块等。(2) 客户端套接字的定义模块:通过socket类创建一个socket类对象,连接到服务器端所开放的端口。(3) 客户端图形界面设计模块:通过调用JFrame类的方法,设计客户端界面按钮和界面属性。包括五个文本框,三个按钮(发送、登录、退出)。(4) 连接服务器模块:通过服务器的IP地址和指定端口8888连接到服务器。(5) 接收消息的线程体模块:通过创建多线程接收服务器发送的消息,加入异常处理。(6) 客户端按钮监听和处理模块:通过为每个按钮创建监听器,以及为每个监听编写处理方法来

5、处理客户端的操作。例如当点击“发送”按钮时,监听器监测到用户的动作,通过调用相应的程序向服务器端发送客户端消息。服务器端模块功能:服务器端通过创建ServerSocket对象,为客户端提供IP地址和服务器开放的端口号,同时服务器还创建了两个列表,一个用来存放用户名,另一个用来存放线程。服务器端通过监听8888端口,接收来自客服端的消息,并将其转发给每个客户端。(1) public class ChatServer 模块:该模块用来创建ServerSocket对象,启动服务器,通过创建的多线程监听开放端口,接收并转发客户端发来的消息。(2) public void startServer()模块

6、:该模块的功能是启动服务器,获取服务器的IP,并加入了异常处理功能。(3) public void run()模块:该模块是消息接收和转发模块,通过端口接收消息并转发给每一个在线的客户端。系统软件环境:JDK2.0,Netbeans IDE 6.9.1三、详细设计 客户端代码:package javaapplication27;import java.awt.*;import java.awt.event.*;import java.io.*;import .*;import javax.swing.*;import java.text.*;import java.util.*;/* * 聊天

7、系统客户端 * */public class ChatClient Socket socket ; DataOutputStream dos ;/数据输出流 DataInputStream dis ; boolean isConnected=false; TextArea ta1; TextArea ta2; TextArea ta3; String userName; String serverIP; Thread receiver=new Thread(new ReceiverThread(); public ChatClient() new Interface(); /连接到服务器 pu

8、blic void connect() try socket=new Socket(serverIP,8888); /传入端口号和IP dos=new DataOutputStream(socket.getOutputStream(); /写入数据输出流中 dis=new DataInputStream(socket.getInputStream(); isConnected = true; catch (UnknownHostException e) System.out.println(找不到服务器.); catch(IOException e) e.printStackTrace();

9、/接收消息的线程体 class ReceiverThread implements Runnable String str=null; public void run() try while(isConnected) /当连接成功 str=dis.readUTF(); /读出数据 if(str.startsWith() /如果接收到的是在线者的名字 ta3.setText(str.substring(1,str.length()-1); else /如果接收到的是聊天内容 ta1.setText(ta1.getText()+n+str); catch(IOException e) e.prin

10、tStackTrace(); public static void main(String args) try /设置显示风格 UIManager.setLookAndFeel(javax.swing.plaf.metal.MetalLookAndFeel catch(Exception e)Cant set this LookAndFeel! new ChatClient(); class Interface extends JFrame implements ActionListener /客户端的界面 JTextField jtf1,jtf2; public Interface() JP

11、anel jp1=new JPanel(); jp1.setLayout(null); ta1=new TextArea(, 30, 18, TextArea.SCROLLBARS_BOTH); ta1.setEditable(false); ta1.setBounds(6, 0, 420, 265); ta1.setBackground(Color.white); ta2=new TextArea(, 20, 18, TextArea.SCROLLBARS_VERTICAL_ONLY); /聊天内容输入区 ta2.setBounds(6, 290, 420, 130); JButton jb

12、1=new JButton(发送 jb1.addActionListener(this); /给发送按钮注册监听器 jb1.setBounds(360, 428, 60, 30); jp1.add(ta1); jp1.add(ta2); jp1.add(jb1); JPanel jp2=new JPanel(); /登录面板 /jp2.setBackground(color); jtf1=new JTextField(15); jtf2=new JTextField(15); JButton jb2=new JButton(登录 jb2.addActionListener(this); /给登

13、录按钮注册监听器 JButton jb3=new JButton(退出 jb3.addActionListener(this); /给退出按钮注册监听器 ta3=new TextArea(, 21, 15, TextArea.SCROLLBARS_VERTICAL_ONLY); /在线者显示区 ta3.setEditable(false); JPanel jp=new JPanel(); /jp.setBackground(color); jp.add(jb2); jp.add(jb3); jp2.setLayout(new BoxLayout(jp2,BoxLayout.Y_AXIS); /指定组件从上到下 jp2.add(new JLabel(用户名); jp2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1