欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    计算机网络课程设计报告.doc

    • 资源ID:2401489       资源大小:517KB        全文页数:25页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机网络课程设计报告.doc

    计算机网络课程设计专业班级:信息安全09级1班小组成员:XXX XXX 课程设计指导教师评定成绩表(学生1姓名: 学号:)项目分值优秀(100>x90)良好(90>x80)中等(80>x70)及格(70>x60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名: 年 月 日课程设计指导教师评定成绩表(学生2姓名:学号:)项目分值优秀(100>x90)良好(90>x80)中等(80>x70)及格(70>x60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名: 年 月 日重庆大学本科学生课程设计任务书课程设计题目计算机网络课程设计学院计算机学院专业信息安全年级2009已知参数和设计要求:通过计算机网络的课程设计,使学生了解、掌握TCP、UDP协议的原理;了解、掌握利用Winsock API编程的方法;了解、掌握应用协议设计的思想;利用Winsock API编制一个能部署在Internet上的点对点数据交换(P2P)、HTTP/FTP服务器系统、共享白板。要求每组学生(23人/组)从上述3个系统中任选一个,独立完成系统的功能设计和实现,使所实现的系统可以能够包含主要的内容要求,并要求学生必须在报告中明确具体分工情况。学生应完成的工作:分组 23人/组。 内容:协议编程。语言:Java或C+。3个题目任意两个一组供一个班级选择。1) 点对点数据交换(P2P):实现基于服务器转发的任意多点间的数据共享与交换。2) HTTP/FTP服务器系统:HTTP/FTP客户端系统和HTTP/FTP服务端系统。3) 共享白板:实现基于服务器转发的多点间的文字,简单图案等信息的远程实时共享。目前资料收集情况(含指定参考资料):1) 计算机网络第4版 谢希仁 电子工业出版社 2003年.6月2) 用TCP/IP进行网络互联(第一卷) D.E.Comer 电子工业出版社2004年.11月第四版3) TCP/IP网络原理与技术 周明天、汪文勇:清华大学出版社:19934) Visual C+网络高级编程,陈坚,人民邮电出版社,2001年08月课程设计的工作计划:1需求分析(说明系统目的,要求,操作流程,开发工具与开发平台)2总体设计(描述系统功能,系统架构,模块化分)3详细设计(建立系统的数据结构,协议结构,数据流程图)4系统实现编码(用所选开发工具完成应用系统)任务下达日期 2012年 1 月 9日完成日期 2012 年 1 月 12 日指导教师 (签名)学 生 (签名)说明:1、学院、专业、年级均填全称,如:光电工程学院、测控技术、2003。2、本表除签名外均可采用计算机打印。本表不够,可另附页,但应在页脚添加页码。目录一、 设计方案 二、程序流程框图 三、程序源代码四、程序测试及结果五、参考文献六、成员分工七、小组总结一、 系统设计方案 该系统是针对点对点数据交换(P2P)进行设计的,它的目的是在建立后台server的前提下,实现后台server与客户端client的数据传输及客户端client与客户端client之间的数据共享与交换。 系统总体的要求是:点对点数据交换(P2P)实现基于服务器转发的任意多点间的数据共享与交换。 系统的操作流程如下: 首先打开服务器server,服务器server打开后我们建立了专门的线程 Thread thread = new Thread(new ThreadStart(RunServer);进行监听,用户在登陆界面输入用户名和密码进行登陆,这个过程客户获取了主机的ip并和服务器建立了联系。当用户和服务器建立联系后通过reader函数和writer函数便可以实现服务器server与客户端client、客户端client与客户端client之间的数据共享与交换。二、 程序流程框图 图1. 服务器流程框图 图2.客户端流程框图 三、程序源代码using System.Linq;using System.Text;using System.Windows.Forms;namespace Server_Form_Net public partial class Server : Form private DealServer Dealserver;/后台处理服务器程序; public Server() InitializeComponent(); / CheckForIllegalCrossThreadCalls = false;/ 很危险,不安全; private void StartButton_Click(object sender, EventArgs e) Dealserver = new DealServer(ServerListBox); Dealserver.StartServer(); /开始监听; StartButton.Enabled = false; /启动按钮失效; EndButton.Enabled = true; /终止按钮可用; private void EndButton_Click(object sender, EventArgs e) try Dealserver.EndServer(); /终止服务器; catch /*什么也不做,只是接受异常*/ StartButton.Enabled = true; /启动按钮可用; EndButton.Enabled = false; /终止按钮失效; protected override void OnClosing(CancelEventArgs e) try Dealserver.EndServer(); catch /*不处理异常*/ Application.Exit();/聊天窗口因为是副窗口,当关闭时使整个程序结束; using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.Threading;using System.Collections;using System.IO;namespace Server_Form_Net class DealServer private ListBox listBox; private IPAddress ipaddress = Dns.GetHostAddresses(Dns.GetHostName()0;/主机地址; private int port = 5000;/监听端口; private TcpListener listener; /服务器监听; private List<User> userList=new List<User>(); /所有用户列表; public DealServer(ListBox box) listBox = box; public void StartServer() SetListBox("服务器开始监听."); listener = new TcpListener(ipaddress, port); listener.Start(); Thread thread = new Thread(new ThreadStart(RunServer); thread.Start(); public void EndServer() SetListBox(" "); SetListBox(" 服务器终止,客户依次退出."); for (int i = 0; i < userList.Count; i+) userListi.Client.Close(); listener.Stop(); SetListBox(" "); /* /单独线程监听; private void RunServer() while (true) TcpClient client; try client = listener.AcceptTcpClient(); catch break; User user = new User(client);/创建客户信息单独的类; try user.FlowNumber = userList.Count - 1;/给每个用户一个编号; catch SetListBox("线程冲突!"); userList.Add(user); /将监听到客户放入列表; SetListBox("*现已登录用户数: "+userList.Count); Thread t = new Thread(new ThreadStart(RunClient); t.Start(); /为每个客户建立一个新线程 ; /* /收到请求,线程处理; private void RunClient( ) User user=userListuserList.Count-1; string username=""/用户名; bool Running=true; BinaryReader reader; while(Running) string ReadStream; try /ReadStream = user.sr.ReadLine(); NetworkStream netStream = user.Client.GetStream(); reader = new BinaryReader(netStream); ReadStream = reader.ReadString();/ 收到客户端信息; catch /当客户端单方面终端连接,则关闭; /-通知所有用户username离线; userList.Remove(user); string strf= FriendList(username,0); ChatToAll(strf); SetListBox(" 用户 :'" + user.Username + "' 退出了服务器。"); SetListBox(" 现登录用户数: " + userList.Count + " "); return; /自定义当第一次客户传到服务器用户名和密码; /格式: "-6-用户名-5-密码"/第一个"-"表示第一次传; /6只是表示用户名长度;/5表示密码长度; if (ReadStream0 = '-') string splitString = ReadStream.Split('-'); int ulength = int.Parse(splitString1);/取用户名; user.Username = splitString2; username = user.Username;/用户名; int plength = int.Parse(splitString3);/取密码; user.Password = splitString4; new sp(username, user.Password); string allName = FriendList(user.Username, 1);/发送好友列表 ChatToAll(allName); continue; /当不是第一次传递,流格式;/ /"4-我的名字-6-对象名-信息"/6表示聊天对象名字长度; /"0-all-4-我的名字-信息" /0-all表示群聊; int num = ReadStream.ToCharArray()0 - '0' if (num = 0) /去掉首部; string str = ReadStream.Substring(6, ReadStream.Length - 6); string splitString = ReadStream.Split('-'); /提取发送者名字; int myNum = int.Parse(splitString2); string myname = splitString3; /取信息; string toStr = splitString4; ChatToAll(myname, toStr); continue; else if (num > 9) | (num < 0) continue;/只是为了测试用; else /"4-我的名字-6-对象名-信息" string splitString = ReadStream.Split('-'); /取发送者名字; int myNum = int.Parse(splitString0); string myname = splitString1; /取聊天对象名字; int toNum = int.Parse(splitString2); string toname = splitString3; /取信息; string tostr = splitString4; tostr = myname + ": " + tostr; ChatToSingle(toname, tostr); /向自己发送; ChatToSingle(myname, tostr); continue; private string FriendList(string name,int n) /当用户第一次登录时,当有新用户登录时,群发好友列表;/当用户离线时,也群发信息;/*发送好友列表格式/自己名字群体聊天好友好友好友好友; string allName; if (n = 0)/离线; allName = "" + name + "离开房间了" else/上线; allName = "" + name + "群体聊天" for (int i = 0; i < userList.Count; i+)/将所用用户列表返回到客户端好友列表; User users = userListi; allName += "" + users.Username; /* return allName; /* /单独聊天; private void ChatToSingle(string name,string str) BinaryWriter writer; for (int i = 0; i < userList.Count; i+) User user = userListi; if (user.Username = name) NetworkStream netStream = user.Client.GetStream(); writer = new BinaryWriter(netStream); writer.Write(str); break; /* /群发; private void ChatToAll(string name,string str) BinaryWriter writer; for (int i = 0; i < userList.Count; i+) User user = userListi; NetworkStream netStream = user.Client.GetStream(); writer = new BinaryWriter(netStream); writer.Write(name+" (群发):"+str); /群发重载,添加好友列表,删除离线好友; private void ChatToAll(string str) BinaryWriter writer; for (int i = 0; i < userList.Count; i+) User user = userListi; NetworkStream netStream = user.Client.GetStream(); writer = new BinaryWriter(netStream); writer.Write(str); /* /写信息到listbox; delegate void SetListBoxDlegate(string str); private void SetListBox(string str) try if (this.listBox.InvokeRequired = true) SetListBoxDlegate d = new SetListBoxDlegate(SetListBox); this.listBox.Invoke(d, str); else listBox.Items.Add(str); if (listBox.Items.Count > 23) listBox.SelectedIndex = listBox.Items.Count - 1;/锁定最后一行; catch /*什么也不做,只是接受异常*/ using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net.Sockets;using System.IO;using System.Threading;namespace Client_Form_Net class DealClient private string userName;/用户名; private string passWord;/密码; private TcpClient client;/客户端; private ListBox chatRoomListBox;/聊天窗口; private ListBox friendListBox; /好友列表; private TextBox sendTextBox; /发送窗口; private Label headLabel; private Form LoginForm;/登录窗口; private StreamWriter sw; private StreamReader sr; private BinaryReader reader;/读取流; private BinaryWriter writer;/写入流; string Friend; public DealClient(Form loginForm) LoginForm = loginForm; public DealClient(T

    注意事项

    本文(计算机网络课程设计报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开