- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
成都工业学院计算机网络专周报告要点
成都工业学院
课程设计报告
课程名称 计算机网络课程设计 项目名称 基于Socket的网络聊天系统的设计与实现 姓 名 陆海空 班 级 1506041 学 号 1501352247 指导教师 周行老师 设计时间 2016年12月12日 至 2016年12月16日
成都工业学院·计算机工程学院
目录
一. 需求分析 3
1.1 开发背景 3
1.2 功能要求 3
1.3 运行环境 3
1.4 功能实现 3
二.项目设计 4
2.1程序流程图 4
2.2 概要设计 5
2.3功能设计 5
2.4 详细设计 7
2.4.1界面设计 7
客户端 8
服务器端...................................................................9
2.4.2程序结构设计 8
三.代码及注释............................................................................9
3.1、客户端 9
3.2服务器端 15
四.课程设计小结 17
五.参考文献 17
一. 需求分析
1.1 开发背景
随着网络技术不断成熟,人们对于网络的依赖程度不断提高,网络似乎成了生活中必不可少的存在。由此而产生的聊天工具也在不断成长。类似微信、QQ等网络聊天工具的发展日新月异。但是,现有的聊天程序也仍然存在进步的空间。
QQ一直深受人们喜爱,随着版本的不断更新,虽然其功能不断增加不断完善,但始终有很多小问题有时让人难以忍受。在使用过程中,不断的弹窗和广告对用户的使用照成了很大程度的影响。因此我在本次课程设计的激励下,产生了一个制作类似QQ的网络聊天工具并且“无垃圾信息”洁净聊天工具的想法,虽然该工具不够完善,但是我希望通过制作本次程序能够更好地学习计算机网络知识。
1.2 功能要求
(1)登录功能。(2)可以通过服务器转发,实现聊天。(3)实现。(4)程序实时显示(5)应该具有易用、美观的图形界面。
1.3 运行环境
操作系统版本:Windows10 64位
软件版本:Visual studio 2015
登录功能。2. 客户通过服务器转发,实现聊天。实时显示目前其它用户的状态。6. 易用、美观的图形界面。 2.1程序流程图
2.2 概要设计
通过C#,实现网络聊天的功能,采用Windows Socket编程,服务器与客户端采用了TCP/IP连接方式,在设计聊天方案时,实行将所有信息发往服务器端,再由服务器进行分别处理的思路,服务器端是所有信息的中心。
由于服务器端要保存用户信息,我们利用数据库来实现这一功能,因此首先需要建立用户信息数据库。
在客户端保存聊天纪录和用户号码这一功能的实现中,采用了文件系统设计。
在信息到来及好友上线时,通过闪动托盘图标和播放不同的音乐进行提示。
建立消息链表来保存用户接收的各种消息。
2.3功能设计
客户端:
1) 登录功能:建立与服务器的连接并登录,能显示登录错误信息。
2) 界面显示:将在线好友显示在好友列表中,并实现系统托盘。
3) 聊天功能:与好友聊天。
4) 聊天记录:能保存聊天纪录,并能察看聊天纪录。
5) 信息提示:闪动托盘图标提示到来信息,并播放不同音乐来提示。
6) 窗口抖动:发送端提示聊天的对方。
服务器端:
向客户端发布系统消息。
接受来自客户端的信息并处理。
登录信息:检查登录信息是否正确,并向客户端返回登录信息。如信息正确,将在线用户发给该用户,并将该用户的状态发给各在线用户。同时在服务器端显示。
聊天信息:转发给消息指定的用户。
申请信息:自动分配8位用户号码,并保存该用户,同时将信息返回给客户端。
用户下线:将此用户下线消息发给各客户端,并改写用户在服务器端的状态。
程序中主要变量及函数的功能说明如下:
客户端:
private void login_btn_Click(object sender, EventArgs e) --- 登陆到服务器
private void svrip_tb_TextChanged(object sender,EventArgs e)设置要连接的服务器的地址端口
private void chatrcd_rtb_TextChanged(object sender, EventArgs e)-- 显示好友发送的信息
private void send_btn_Click(object sender, EventArgs e) ---- 给好友发送信息
private void user_tb_TextChanged(object sender, Event
文档评论(0)