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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

通信网络程序设计Word文件下载.docx

1、2.2.4添加好友模块- - - - - - - - - - - - - - - - - - - - -122.2.5好友聊天模块- - - - - - - - - - - - - - - - - - - - -122.2.6删除好友模块- - - - - - - - - - - - - - - - - - - - -122.2.7加入群模块- - - - - - - - - - - - - - - - - - - - -122.2.8创建群模块- - - - - - - - - - - - - - - - - - - - -122.2.9退出群模块- - - - - - - - - - -

2、- - - - - - - - - -122.2.10群聊模块- - - - - - - - - - - - - - - - - - - - - 122.2.11资源共享模块- - - - - - - - - - - - - - - - - - - -122.2.12资源下载模块- - - - - - - - - - - - - - - - - - - 132.3服务器界面模块设计 - - - - - - - - - - - - - - - - - -132.3.1运行信息显示模块 - - - - - - - - - - - - - - - - - -132.3.2群信息以及群成员显示模块 -

3、 - - - - - - - - - - - - - -132.3.3用户信息显示模块 - - - - - - - - - - - - - - - - - -13 2.3.4其他功能模块- - - - - - - - - - - - - - - - - - - -132.4客服端界面模块设计- - - - - - - - - - - - - - - - - - -132.4.1注册模块 - - - - - - - - - - - - - - - - - - - - -132.4.2登录模块 - - - - - - - - - - - - - - - - - - - - -132.4.3添加好友

4、模块 - - - - - - - - - - - - - - - - - - - -132.4.4单聊模块 - - - - - - - - - - - - - - - - - - - - -13 2.4.5群聊模块 - - - - - - - - - - - - - - - - - - - - -142.4.6加入群模块- - - - - - - - - - - - - - - - - - - - -142.4.7创建群模块- - - - - - - - - - - - - - - - - - - - -142.4.8资源共享模块- - - - - - - - - - - - - - - -

5、- - - - -142.4.9资源下载模块- - - - - - - - - - - - - - - - - - - - -143.结语- - - - - - - - - - - - - - - - - - - - - - - - 14三、用JAVA编写一个求圆面积的程序 - - - - - - - - - - 151、设计思路- - - - - - - - - - - - - - - - - - - - - -152、技术要求- - - - - - - - - - - - - - - - - - - - - 153、详细程序代码- - - - - - - - - - - - - - - -

6、 - - - 154、程序运行截图- - - - - - - - - - - - - - - - - - - 16一、类的概念及应用C#里的类(Class),也可以叫做对象(object),它由以下几部分组成:成员变量,属性和方法,其中必不可少的是这个类不带任何参数的构造函数,它不指定返回类型,作用是初始化类的成员变量、分配内存等。和c+不同,c#类只有构造函数,不需要析购函数,也就是说你只需要为成员变量分配内存,而不必要显式的释放内存,这是因为c#和java一样都是通过垃圾收集器来释放内存。明白这些,我们就可以构造一个最简单的类,一个什么也不做的类:public class MyClassp

7、ublic MyClass() ;要使用时只需要简单的new一个出来就行了,象这样:MyClass myClass1 = newMyClass() ;这时已经创建了一个对象,尽管它什么也不做。下面我们给它加一个私有字符型成员变量m_strTitle,并且在构造函数里初始化这个成员变量,整个类的定义就变成这样:/私有成员变量private string m_strTitle ;/构造函数public MyClass()m_strTitle = 我已经被赋初值了 ;注意定义成员变量的这行代码: 其中string好理解,说明m_strTitle是string类型的,那么最前面的private是什么作

8、用呢?这个private(私有)说这个成员变量是私有的,只有这个类内部的函数可以使用,而其他任何地方包括子类的函数都不能使用它,除了private,你还可以定义成public(公共)和protected(保护),public表明这个成员变量在任何地方都可以使用,而protected表明这个变量只能在本类或子类中使用。所以,如果我们想要使用这个成员变量,可以把它定义成public,但对于面向对象编程来说这不是个好的编程习惯,因为它破坏了类的封装性,在c+里好的方法是再定义公共函数来存取这个私有变量,而c#里提供了一个更加方便的方法,那就是属性(property),现在我们把这个属性Title加上

9、:/属性public string Titlegetreturn this.m_strTitle ;setthis.m_strTitle = value ;让我们来看看如何定义属性,首先同样需要作用域限定符,通常我们使用public,表明任何地方都可以使用该属性,其次有两个关键字需要注意:this和value , this代表类本身,所以this.m_strTitle就是代表本类的成员变量m_strTitle , value代表当这个属性作为左值时等号右边的值,象这样:myClass.Title = hello , 那么value的值就是 , 好了,这个类已经可以使用了,象下面:public

10、static void Main(String args)MyClass myClass = new myClass() ; /构造MyClass类的一个实例Console.WriteLine(myClass.Title) ; /结果是:我已经被赋初值了我的值改变了 /改变Title属性的值Console.Writeline(myClass.Title) ; /这时结果变成:我的值改变了好了,现在让我们给这个类加上一个MyMethod方法,这个方法没有返回值,带一个字符型参数。/方法public void MyMethod(string a_str)this.m_strTitle = a_st

11、r ;这是我们可以改写一下刚才那个程序,运行结果同刚才一样:myClass.MyMethod( );二、即时聊天工具的设计思路1.问题描述及实现功能和总体设计思路时下腾讯QQ即时通讯软件的应用如火如荼,只要上网的人都知道QQ,几乎得上网的人都拥有自己的QQ号甚至是多个,如今QQ成为中国网民最喜欢的通讯软件了,当年只有很简单的功能,经过几年的发展升级变成了今天超级强大的功能了,当然还有类似的国内通讯软件,如新浪的UC软件等。1.1问题描述模拟QQ即时聊天工具设计一套网络聊天应用程序,按照C/S结构分别设计服务端程序和客户端程序。现在腾讯QQ的功能超级强大,要完全现实它的功能不是一两个人一两天能够

12、完成的任务,基于时间和开发人员只有本人的情况下,所以选择一部分最常用的功能实现。设计的程序界面友好简单易用。1.2实现功能1.2.1服务器端功能服务器端主要功能就是通过图形界面来维护服务器的信息,包括服务器运行信息的即时显示;手动启动和停止服务器的运行;查看现有群以及每个群有的成员;查看所有注册用户以及是否在线;清除服务器信息;服务器后台运行;保存和加载服务器信息等。1.2.2客户端功能客服端主要实现的功能有:用户注册;用户登陆;用户下线;程序运行的动态信息显示;添加好友;和好友聊天;删除好友;加入群;创建群;退出群;群聊;资源共享;下载共享资源;文件传输;实时监听好友是否传输文件等。1.3设

13、计思路1.3.1总体架构思路此程序要求设计客户端和服务器端,主要解决的问题就是客户端和服务器端的通信以及客户端和客户端的通信。因为涉及到通信的内容很多,例如登陆信息,注册信息,聊天信息等等。怎样识别不同的信息需要自己设计通信协议,及根据每次收到的信息的不同做相应的处理。所以自己定义了许多通信消息的类型,以便准确完成通信。1.3.2服务器端服务器运行开始等待客户端的登陆以及注册信息,当有客户端要求通信时,便对客户端信息做保存并更新服务器信息。对于每一个客服端都建立一个相应的通信套接字并实时异步监听客服端是否有动作。服务器端的主要作用就是维护客服端的信息以及中转必要的通信信息,例如对于客户添加好友

14、,服务器端就需要转发客服端的求情信息到另外一个客户端。另外一点设计思路就是通过图形界面来操作服务器。1.3.3客户端客户端主要根据用户的使用信息即时相应消息,然后根据不同的信息发送不同的信息到服务器端,开始和服务器端通信。客户端在登录成功以后便建立自己的本地服务器,方便自己共享资源以及可以直接和好友聊天儿不必每次发送信息都需要通过服务器中转,一般情况下首次发送的信息由服务器中转,之后都是直接通信了。这样可以减少服务器端的负载,让服务器运行更稳定,以及支持更多的客服端数量。客服端需要实时监听好友是否上线的信息,如果好友上线了应该即时得到通知。同样客服端也实时显示程序运行的信息,这对于开发人员尤其

15、关键和重要,因为可以根据这个来了解程序是否运行正常。2.详细设计思路2.1通信协议设计2.1.1消息类型:/消息类型enum MSGType enroll,check_name,login,add_friend,single_chat,group_chat,invalid_name,invalid_password,already_login,success,fail,establish_group,join_group,secede_group,single_chat_server,single_chat_client,single_chat_transfer,offline,client_

16、list,group_list,member_list,server_address,full,leave_word,addfriend_exist,addfriend_error,offline_error, friend_data, group_data,addfriend_success, addfriend_fail, joingroup_success, joingroup_fail,secedegroup_success, secedegroup_fail, establishgroup_success,establishgroup_fail,delete_friend,searc

17、h_file,search_return,search_null,down_file,declare_file,declare_success;每种消息具体说明如下:enroll: 用户注册check_name: 检查用户名是否可用login: 用户登陆add_friend: 添加好友single_chat: 单聊group_chat: 群聊invalid_name: 无效用户名invalid_password: 无效的密码already_login: 已近登陆success: 成功fail: 失败establish_group: 建立群join_group: 加入群secede_group:

18、 退出群single_chat_server: 接收私聊时对方发送过来的信息single_chat_client: 从服务器接收到好友的addrsingle_chat_transfer: 从服务器接收到中转的信息offline: 下线client_list: 请求客户好友信息group_list: 请求客户群信息member_list: 请求群成员信息server_address: 服务器地址leave_word: 留言addfriend_exist: 好友已经存在addfriend_error: 添加好友出错offline_error: 下线出错friend_data: 好友数据group_

19、data: 群数据addfriend_success,: 添加好友成功addfriend_fail: 添加好友失败joingroup_success: 加入群成功joingroup_fail: 加入群失败secedegroup_success: 退出群成功secedegroup_fail: 退出群失败establishgroup_success:建立群成功establishgroup_fail: 建立群失败delete_friend: 删除好友search_file: 收索文件search_return: 收索返回search_null, 收索为空down_file: 下载文件declare_

20、file: 共享文件declare_success: 共享成功服务器和客户端就是通过这些信息类型来通信的。2.1.2消息结构体设计struct messageMSGType type; /消息类型char nameMaxNameContent + 1;/消息名称char msgMaxMsgContent + 1; /消息具体内容/重载复制操作符void operator =( const message& b)type = b.type;strcpy(name, b.name);strcpy(msg, b.msg);每次客服端和服务器的通信都是发送这样的结构体数据信息。2.1.3群留言信息结构

21、设计/群的留言.群名,.发言人名,.发言内容,struct wordchar groupNameMaxNameContent + 1;char clientNameMaxNameContent + 1;char leaveWord MaxMsgContent + 1;void operator = (const word&strcpy(groupName, b.groupName);strcpy(clientName, b.clientName);strcpy(leaveWord , b.leaveWord);2.2通信模块软件设计2.2.1注册模块客服端在填写好完整的注册信息以后就发送注册用

22、户类型的消息到服务器端,服务器端接收到注册信息以后做相应的处理,如果成功就保存客户信息。2.2.2登录模块客服端发送登录信息到服务器端,服务器端根据用户名和密码检查是否成功登录,如果登录成功的话,就需要将客户的信息发送给客户端,具体有好友信息,用户加入的群信息等。如果登录成功客户端接收服务器发送给客服端的好友和群等信息并在界面中显示出来。2.2.3下线模块客服端发送下线请求的信息到服务器端,服务器端接到此信息以后把此用户状态改为离线。服务器端返回下线操作是否成功。2.2.4添加好友模块客户端可以请求服务器所用的用户信息并显示出来,客户端可以选择某一个用户向服务器端发送添加此用户为好友的信息。服

23、务器接收到添加好友的信息以后查找被添加的用户,如果找到就发送一条有用户添加他为好友的信息,如果对方不在线服务器就直接返回一条此用户不在线的信息给添加好友的用户。如果被添加的用户在线并且接受请求,那么服务端就更新用户信息,将他们互相添加为好友信息。2.2.5好友聊天模块客服端选择一个好友向服务器发送聊天请求,服务器在他们没有互相建立以前中转他们的发送聊天信息。一旦他们建立连接以后服务器就不作用了。如果对方不存在就把信息存放起来,等到对方上线以后再转发给改用户就可以了。2.2.6删除好友模块客户端选择一个需要删除的好友,然后向服务器发送删除好友的信息,服务器接受到信息以后向对方发送删除好友的信息已

24、通知对方,后然更新服务器信息,解除次二人的好友关系。通知双方好友关系已解除。 2.2.7加入群模块此模块的设计同添加好友模块类似。2.2.8创建群模块这个模块的功能和用户注册模块类似。2.2.9退出群模块此模块的设计同删除好友模块类似。2.2.10群聊模块此模块的设计同聊天模块类似,只不过是以群为单位开始聊天,同样没有在线的用户就以后登录接收到此聊天信息。2.2.11资源共享模块客服端作为本地服务器可以共享资源,共享的资源在服务器端由记录。当其他好友收索到共享的资源以后就可以下载了。2.2.12资源下载模块每个用户可以登录以后可以收索有哪些共享资源,并且可以下载到本地。2.3服务器界面模块设计

25、2.3.1运行信息显示模块此功能在程序中的各个模块中都有涉及到,每次服务器的操作信息动态的显示到界面中来就可以了。此功能模块有助于程序员了解服务器程序是否运行正常。2.3.2群信息以及群成员显示模块将所有的群都显示到列表框中,在单击每一个群的时候在另一个列表框中显示此群有哪些成员用户。2.3.3用户信息显示模块根据用户是都在线分别显示所有用户的情况,在线的用户显示到在线的列表框,离线的显示在离线对话框。2.3.4其他功能模块其他的很多按钮功能,点击某一个按钮实现相应的功能。主要有启动和停止运行服务器;保存服务器现在的信息到数据文件,从数据文件加载服务器信息;以及清空服务器信息等。2.4客服端界面模块设计2.4.1注册模块需要填写用户名和密码,可以发送注册信息。2.4.2登录模块根据填写的用户名和密码发送登录信息,可以调用注册模块注册。2.4.3添加好友模块从服务器端获取所有用户并显示用户信息到列表框中,选中某一用户发送请求。2.4.4单

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

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