收藏 分享(赏)

课程设计说明书格式样本.doc

上传人:gnk289057 文档编号:7236285 上传时间:2019-05-10 格式:DOC 页数:13 大小:106.50KB
下载 相关 举报
课程设计说明书格式样本.doc_第1页
第1页 / 共13页
课程设计说明书格式样本.doc_第2页
第2页 / 共13页
课程设计说明书格式样本.doc_第3页
第3页 / 共13页
课程设计说明书格式样本.doc_第4页
第4页 / 共13页
课程设计说明书格式样本.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、青岛理工大学琴岛学院网络工程课程设计设 计 说 明 书基于 UDP 的网上聊天程序学 生 姓 名学 号班 级指 导 教 师计算机科学与技术系2007 年 1 月 5 日网络工程 课程设计评阅书题目 基于 UDP 的网上聊天程序学生姓名 学号指导教师评语及成绩指导教师签名:年 月 日答辩评语及成绩答辩教师签名:年 月 日教研室意见总成绩:室主任签名:年 月 日课程设计任务书20062007 学年第一学期专业: 计算机科学与技术 学号: 姓名: 王博伟 课程设计名称: 网络工程课程设计 设计题目: 基于 UDP 的网上聊天程序 完成期限:自 2006 年 12 月 25 日至 2007 年 1 月

2、 5 日共 2 周设计依据、要求及主要内容(可另加附页):指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要UDP(User Datagram Protocol)是一种无连接协议,与 TCP 操作不同,计算机间并不需要建立一个连接,同时,一个 UDP 应用可同时作为应用的客户或服务器方。本设计采用 VB 作为开发工具,利用 Socket 套接字实现了基于 UDP 协议的应用程序通信,并完成了对等聊天程序的设计。关键词: UDP;Socket;数据报;通信目 录1 课题描述12 设计过程22.1 主窗体设计22.2 与远端聊天程序互连22.3 向远端发送消息42.4 接收远端

3、程序发送的消息53 测试6总结7参考文献811 课题描述随着社会发展,Internent 的迅速普及,人们对实时通信的要求越来越迫切,需求日益增加,网络聊天已经成为了一大时尚,不少人都有这样的经历。用户数据报协议(UDP)是一个无连接协议,使用这种协议时,并不需要在两台计算机之间建立固定的连接,也就是说,通信双方没有服务器和客户机之分,它们之间进行的是对等通信。所以它的优势很明显。是现代通信不可或缺的一部分。本课题利用 Socket 套接字实现主机之间的数据通信,并设计一个网上聊天程序,实现基于 UDP 的通信。开发工具:Visual Basic22 设计过程本次设计的基于 UDP 的网上聊天

4、程序易于实现两台计算机之间建立固定的连接,适合一般用途通信的需要。2.1 主窗体设计首先,创建一个新项目,接下来设计主窗体如图 2.1 所示。并在窗体上添加一个运行时不可见的 winsock 控件。图 2.1 主窗体2.2 与远端聊天程序互连当主窗体加载时,我们首先将本地计算机的 IP 地址填充到 Connect with IP文本框中作为默认值。代码如下:Private Sub Form_Load()ShowtxtRemoteIP = Winsock1.LocalIPEnd Sub当用户填写远端聊天程序的 IP 地址后,及双方事先约定好的端口号时(注意:本地控件的 RemotePort 属性

5、应该设为对方控件的 LocalPort 属性,这一点对于对3方来说也一样) ,单击 Connect 按钮就可以实现互连。此外我们不将远端聊天程序称为服务器,因为在聊天过程中双方的地位是对等的。单击 Connect 按钮时的处理代码如下所示:Private Sub cmdConnect_Click()On Error GoTo ErrHandlerWith Winsock1Set the remotehost property.RemoteHost = Trim(txtRemoteIP)Set the remoteport property.This should be equal to the

6、localhost property of theremote machine.RemotePort = Trim(txtRemotePort)The localport property cannot bechanged,so check if it has alreadybeen set.If .LocalPort = Empty Then.LocalPort = Trim(txtLocalPort)Frame2.Caption = .LocalIP.Bind .LocalPortEnd IfEnd WithMake sure that the user cant changethe lo

7、cal porttxtLocalPort.Locked = TrueShow the current status of the connection inthe status barStatusBar1.Panels(1).Text = “ Connected to “ & Winsock1.RemoteHost & “ “Frame1.Enabled = TrueFrame2.Enabled = TrueLabel4.Visible = True4Text2.SetFocusExit SubErrHandler:MsgBox “Winsock failed to establish con

8、nection with remote server“, vbCriticalEnd Sub在 cmdConnect_Click 过程中,UDP 对等聊天程序执行了如下的几个步骤:(1) 读取 Connect with IP 文本框内容填充 WinSock 控件的 RemoteHost属性。(2) 读取 Remote Port 文本框内容填充 WinSock 控件的 RemotePort 属性。(3) 读取 Local Port 文本框内容填充 WinSock 控件的 LocalPort 属性。(4) 改变对话内容输入栏的标题提示。(5) 调用 WinSock 控件的 Bind 方法绑定本地端

9、口。(6) 将连接状态在状态栏上显示出来。(7) 将本地端口值锁定,不允许用户再做更改。2.3 向远端发送消息当用户在窗口下部的文本框中输入了一行文本并敲击回车键时,我们的程序就应该将用户所输入的内容及时发送给远端的聊天程序(而且应该发向已经指定的RemotePort 端口) ,这个过程是在 Text2 文本框的 KeyPress 事件中处理完成的(因为我们需要从中检测用户敲击的是否回车键) ,如下所示:Private Sub Text2_KeyPress(KeyAscii As Integer)The position of the last linefeed within the text

10、Static Last_Line_Feed As LongThe new line of textDim New_Line As StringReset the position of the last line feed if theuser has clear the chat windowIf Trim(Text2) = vbNullString Then Last_Line_Feed = 0If the user pressed Enter.5If KeyAscii = 13 ThenGet the new line of textNew_Line = Mid(Text2, Last_

11、Line_Feed + 1)Save the position of the current linefeedLast_Line_Feed = Text2.SelStartSend the new text across the socketWinsock1.SendData New_LineStatusBar1.Panels(2).Text = “ Sent “ & (LenB(New_Line) / 2) & “ bytes “End IfEnd SubText2_KeyPress 所做的工作就是首先检测用户敲击的是否是回车键,如果是,则获取用户最新输入的一行文本,然后调用 WinSock

12、 控件的 SendData 方法将其发送出去并更新状态栏显示的连接状态。 2.4 接收远端程序发送的消息当远端程序有消息发送过来时,系统会在固有的端口上提供缓冲并通知我们的程序,此时 WinSock 控件的 DataArrival 事件将被触发,如下所示:Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)New_Text is the text that has just arrivedfrom across the socketDim New_Text As StringGet the new textWinsock1.Get

13、Data New_TextShow the new textText1.SelText = New_TextFrame1.Caption = Winsock1.RemoteHostIP,Show the byte size of this transmission in the statusbarStatusBar1.Panels(2).Text = “ Recieved “ & bytesTotal & “ bytes “End Sub63 测试运行程序,Connect with IP 中将自动获取本地 IP;在 Local Port 中填入一个端口号,如 1000(非系统占用) ;在 Re

14、mote Port 中填入要连接的计算机的通讯接收端口号 如 1000。本实验是在一台计算机上测试,如要进行两台计算机的通讯,则在此填入另外接收计算机的接收通讯端口号。单击 Connect,在文本框内输入消息,按回车键,消息成功发送,如图 3.1 所示,可以实现通信。图 3.1 测试界面7总 结课程设计的过程是艰辛的,但是收获却是很大的。这次课程设计我主要是应用以前学习的网络编程以及 vb 的一些只是,综合起来才完成了这个网络通讯的软件,虽然软件很小,但是付出却是艰辛的。首先,综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,再次,我在课程设计中

15、碰到了很多的问题,我通过查阅相关书籍,资料,通过自己钻研,特别是得到了李征老师的谆谆教导,李老师给予了我很大的帮助,不仅给了我思路上的开阔,还让我认识到了自己对以前所学知识的不足方面。随着社会发展,internent 的迅速普及,以及飞速发展,人们对实时通信的要求越来越迫切,需求日益增加,网络聊天已经成为了一大时尚,不少人都有这样的经历。用户数据报协议(UDP)是一个无连接协议,使用这种协议时,并不需要在两台计算机之间建立固定的连接,也就是说,通信双方没有服务器和客户机之分,它们之间进行的是对等通信。所以它的优势很明显。是现代通信不可或缺的一部分。这次的课程设计我主要应用所学,通过在 vb 编程环境下,运用流式套接字知识,进行基于 UDP 的网上聊天软件的设计,它易于实现两台计算机之间建立固定的连接,这是它的一大优势。当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在网络编程这方面有一个大的发展。8参考文献1 萧秋水,文娟.网络编程之 vb 篇.北京.清华出版社.20012 方敏,张彤.网络应用程序设计.安.安电子科技大学出版社.0053 黄超.indows 下的网络编程.北京.人民邮电出版社.2003

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报