您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 华南农业大学计算机网络课程设计报告
华南农业大学理学院课程实验(设计)报告专业年级:11信息与计算科学学生学号:201130760学生学号:201130760学生姓名:学生姓名:实验题目:Socket应用程序设计指导老师:实验时间:2013年11月1日-2013年11月29日目录1实验内容和要求.........................................................................................................11.1实验内容..........................................................................................................11.2实验要求..........................................................................................................11.3实验实现的功能..............................................................................................12实验过程.....................................................................................................................22.1系统需求分析..................................................................................................22.1.1客户端..................................................................................................22.1.2服务器...................................................................................................22.2系统的概要设计..............................................................................................32.3具体实现..........................................................................................................42.3.1客户端...................................................................................................42.3.1.1登陆功能............................................................................................42.3.1.2聊天功能............................................................................................62.3.1.3离线聊天功能....................................................................................82.3.1.4接受离线信息功能............................................................................92.3.1.5聊天记录功能..................................................................................102.3.1.6显示用户状态功能..........................................................................122.3.1.7文件传输功能..................................................................................132.3.2服务器.................................................................................................192.3.2.1登录、注册验证功能......................................................................192.3.2.2群聊功能..........................................................................................212.3.2.3用户信息管理功能..........................................................................223实验结果...................................................................................................................244讨论与总结...............................................................................................................245参考文献...................................................................................................................256小组分工...................................................................................................................2511实验内容和要求1.1实验内容在学习完TCP/IP协议组后,要求掌握基于此协议实现网络通信,理解TCP与UDP的不同特征以及实现方式。基于Windows平台建立一个基于TCP/IP协议的网络通讯小应用,实验可采用UDP或TCP实现。1.2实验要求(1)能够进行用户管理,所有用户必须登录到服务器,有服务器维护在线信息;(2)IM功能:用户登录后能够进行实时多方点到点短信息通信,如聊天;(3)能够选择要求服务器进行转发服务;(4)能够保存通信记录到数据库(SQLServer或者其他桌面型数据库或数据文件);(5)能进行双方文件传输,能够显示进度;*(6)支持断点重传,检查时需有功能随时中断传送,并在下次启动时能显示重传状态;*(7)数据包加密;*(8)实时语音双向传送功能;*(9)多方通话功能;(10)界面设计要求布局合理,信息清晰。(11)自加功能。(*为选做内容)1.3实验实现的功能(1)服务器能够进行用户管理,所有用户必须登录到服务器,有服务器维护在线信息;(2)IM功能:用户登录后能够进行实时多方点到点短信息通信,如聊天;(3)服务器离线转发功能;(4)客户端保存群聊天记录;(5)能进行双方文件传输,能够显示进度;(10)界面设计要求布局合理,信息清晰。22实验过程2.1系统需求分析2.1.1客户端(1)登陆功能:在用户填写相关的账户和密码时,客户端能够发送连接客户端要求,当,连上客户端的时候,客户端能够将账号和密码信息发送到服务器进行核对,并返回信心(2)聊天功能:在客户端中,用户有权选择群聊还是与某在线用户私聊(3)离线聊天功能:在线的用户可能通过服务器将信息发给离线的用户(4)接受离线信息共能:当用户上线时,接收其他用户的离线信息(5)聊天记录功能:客户端能自动将群聊的信息保存在相应的数据库当中(6)显示用户状态功能:对于在线的用户和离线的用户能够及时显示在表格当中2.1.2服务器(1)维护用户功能:添加新用户,修改用户密码,删除用户(2)更新用户状态功能:通知客户端更新成员状态和相应的列表(3)离线功能:为离线用户保存离线信息,并且在用户上线的时发送相应的离线信息(4)检验用户信息功能:验证用户的账号和密码的正确性,并禁止用户异地同时登陆(5)显示群聊记录:在服务器中几时显示群聊的信息32.2系统的概要设计图2.1软件功能模块图4图2.2服务器与客户端功能的设计图2.3服务器与客户端数据流程图2.3具体实现2.3.1客户端2.3.1.1登陆功能图2.4登陆界面5(1)在按下登陆按钮的时候,程序获取界面中的服务器中IP地址和端口号,同时检验账号和密码是否有误。若账号和密码填写上没有错误,进行连接服务器。代码如下:PrivateSubCommand1_Click()'点击登陆按钮Form2.login=False'设置能否登陆标志为“不能”IfForm1.Username.Text=OrForm1.Usercode.Text=Then'检查账号和密码填写是否有空MsgBox请输入账号和密码ElseCalltcpClient_Connect'连接服务器DoEventsIfForm2.tcpClient.State=7Then'若连接上服务器则发送账号和密码Form2.tcpClient.SendData|&***&Form1.Username.Text&***##&Form1.Usercode.Text##&|'***账号***###密码###DoEventsElseMsgBox没有服务器EndIfTimer1.Enabled=TrueEndIfEndSubPublicSubtcpClient_Connect()IfForm2.tcpClient.State7ThenForm2.tcpClient.CloseForm2.tcpClient.RemoteHost=Form1.txtHost.TextForm2.tcpClient.RemotePort=Form1.txtPort.TextForm2.tcpClient.ConnectDoEventsEndIfEndSub(2)当连接成功后,发送账号和密码,用相关的已经定义好协议进行封装发送给服务器。协议是***账号***###密码###代码如下:IfForm2.tcpClient.State=7Then'若连接上服务器则发送账号和密码Form2.tcpClient.SendData|&***&Form1.Username.Text&***##&Form1.Usercode.Text##&|'***账号***###密码###(3)当客户端收到的服务器的协议信息是密码和账号是正确的时候才能进行真正的登录。协议是:当收到*#时,代表登录成功。当收到*ERROR时,代表没有这账号。当6收到#ERROR时,代表密码错误。当收到*ONLINE时,代表账号已经登录。代码如下:IfInStr(sData,*#)0Thenlogin=TrueElseIfInStr
本文标题:华南农业大学计算机网络课程设计报告
链接地址:https://www.777doc.com/doc-264858 .html