网络课程设计24650

上传人:仙*** 文档编号:34463046 上传时间:2021-10-21 格式:DOC 页数:7 大小:62KB
返回 下载 相关 举报
网络课程设计24650_第1页
第1页 / 共7页
网络课程设计24650_第2页
第2页 / 共7页
网络课程设计24650_第3页
第3页 / 共7页
点击查看更多>>
资源描述
计算机科学与技术学院20082009 学年第 2 学期计算机网络课程设计题目: 基于TCP的网络聊天程序 班级: 060341A 学号: 060341101 姓名: 柏榴基 教师: 成绩: 目 录1 需求分析11.1 课程设计目的11.2 课程设计内容11.3 课程设计要求12 概要设计22.1 原理概述22.2 运行环境32.3 基本设计思路32.4 功能模块设计43 详细设计53.1 程序流程53.2 主要算法63.3 主要数据结构73.4 主要函数说明84 用户使用手册95 项目分析与总结115.1 项目分析11(实现过程中遇到的问题及解决办法;系统运行结果分析:要求用Sniffer分析出网络通信采用的运输层协议、IP地址、端口号等信息)5.2 总结与建议12附录A 源程序代码文件说明13(每个源程序代码文件用一句话说明即可)附录B 参考文献141需求分析1.1课程设计目的:熟悉网络编程基本原理1.2课程设计内容:使用C#语言编写网络聊天工具2概要设计2.1原理概述:这是一个基于TCP的聊天工具,需要在两台机子上装有该聊天工具,通过连接、监听、数据发送和接收,最终完成该聊天功能的实现。2.2运行环境:WINDOWS平台2.3基本设计思路:首先需要创建套接字用于网络间的传送与接收,然后通过主线程建立接受线程,以实现接收数据的功能,创建套接字需要先初始化,创建,与绑定三个步骤,之后将主线程创建的套接字的变量进行转换,转换到接受线程当中。然后在成功接受数据后通过:PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)&temprecv)发送消息,并通过CChatDlg:OnRecvData(WPARAM wParam,LPARAM lParam)处理消息。之后,实现发送功能,并完善各控件的功能与限制条件。2.4功能模块设计:IDC_STATIC:用于实现聊天内容的显示。IDC_EDIT_SEND:用于实现发送内容的显示。IDC_IPADDRESS1:用于实现对方IP地址的显示。IDC_BTN_SEND:实现发送消息的功能。IDC_LIST_FRIEND:实现好友列表的显示。IDC_BTN_ADD:实现添加好友的功能。IDC_BTN_DLE:实现删除好友的功能。IDC_EDIT1:用于填写好友的姓名IDC_IPADDRESS1:用于填写好友的IP地址流程图:客户端程序服务端程序Socket()Socket() Bind() SOCKADDR_IN() SOCKADDR_IN Accept()Send()Recv()Recv()Send()Closesocket()3详细设计3.1主函数、页面加载static void Main() Application.Run(new MainForm();private void MainForm_Load(object sender, System.EventArgs e)this.Listener = new Thread(new ThreadStart(StartListen);this.Listener.Start();private void MainForm_Closed(object sender, System.EventArgs e)if ( this.Listener != null )this.Listener.Abort();if ( this.TcpListener != null )this.TcpListener.Stop();3.2监听函数(含接受功能)private void StartListen()this.TcpListener = new TcpListener(19808);this.TcpListener.Start();while( true )TcpClient TcpClient = this.TcpListener.AcceptTcpClient();NetworkStream MyStream = TcpClient.GetStream();byte bytes = new byte2048;int bytesRead = MyStream.Read(bytes,0,bytes.Length);string message = System.Text.Encoding.UTF8.GetString(bytes,0,bytesRead);this.richTextBox2.Text += message + n;3.3发送函数(含连接功能)private void send()if (this.IP.Text.Length 7 )MessageBox.Show(IP地址错误!,错误信息:,MessageBoxButtons.OK,MessageBoxIcon.Information);return;if ( this.richTextBox1.Text.Length 1 )return;trystring Message = this.NickName.Text + : + this.richTextBox1.Text;TcpClient TcpClient = new TcpClient(this.IP.Text,19808);NetworkStream tcpStream = TcpClient.GetStream();StreamWriter stream = new StreamWriter(tcpStream);stream.Flush();stream.Write(Message);stream.Close();TcpClient.Close();this.richTextBox2.AppendText( Message + n);catch ( Exception Err)MessageBox.Show(Err.Message,错误信息:,MessageBoxButtons.OK,MessageBoxIcon.Information);finallysends.Abort();4用户使用手册首先将程序装于两台计算机中并运行,填写对方IP地址,输入聊天内容,点击发送,对方即可收到你发送的内容。并可增加对方为好友,此时就不再显示对方的IP号,而是好友的名称。这些信息将保存在friendlist.ini文件中。5总结与建议:这个聊天程序的实现很复杂,通过大量的阅读材料以及请教周边的同学才了解了几个主要算法的实现。但最重要的是一些网络的基本概念的了解,比如说套接字,线程的创建与运行,一些协议的基本概念。只有了解懂得运用到这些知识,才是这次网络编程作业的最终目的。通过不断的调试,最终完成这个小工具,也实现了老师的基本要求,希望在以后的学习中得到老师的进一步指导,完善自己的网络知识。6附录参考文献计算机网络谢希仁著
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!