基于P2P的局域网即时通信系统+项目说明(c#源码)计算机网络课程设计.zip 基于P2P的局域网即时通信系统+项目说明(c#源码)计算机网络课程设计.zip 基于P2P的局域网即时通信系统+项目说明(c#源码)计算机网络课程设计.zip 【资源说明】 该项目是个人毕设项目源码,评审分达到95分,调试运行正常,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关专业的学生或从业者下载使用,也可作为期末课程设计、课程大作业、毕业设计等。 具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现类似其他功能。 ### 已知技术参数和设计要求 1.掌握P2P原理。\ 2.实现一个图形用户界面局域网内的消息系统。\ 3.功能:建立一个局域网内的简单的P2P消息系统,程序既是服务器又是客户,服务器端口(自拟服务器端口号并选定)。\ 3.1用户注册及对等方列表的获取:对等方A启动后,用户设置自己的信息(用户名,所在组);扫描网段中在线的对等方(服务器端口打开),向所有在线对等方的服务端 口发送消息,接收方接收到消息后,把对等方A加入到自己的用户列表中,并发应答消息;对等方A把回应消息的其它对等方加入用户列表。双方交换的消息格式自己根据 需要定义,至少包括用户名、IP地址。\ 3.2发送消息和文件:用户在列表中选择用户,与用户建立TCP连接,发送文件或消息。\ 4.用户界面:界面上包括对等方列表;消息显示列表;消息输入框;文件传输进程显示及操作按钮或菜单。 ### 已经实现的功能 #### 核心功能 用户的注册与登录(一台电脑最多一个账户);\ UDP上下线广播,对等方的账户信息交换;\ TCP聊天消息交换,支持本地历史记录保存(rtf)和未读消息提示(xml);\ TCP文件传输(每次只能和一个人传文件),支持详细的进度显示和中断传输(可能有bug); #### 额外功能 弹出式通知气泡;\ 设置页面:用户名更改,清空本机数据,免密登录等; ### 放弃的功能 好友系统(局域网就几台电脑,搞好友系统好像没有必要);\ 多人文件传输(懒得搞);\ 优化 UID 的生成方式(懒得搞×2); ### 已知 BUG (严重)向虚拟机用户发送文件(>40MB),且传输速度高于5MB/s时,极高概率会发生文件损坏。原因尚不清楚;\ 若接收方中断文件传输,发送方极小概率会抛出 “往已释放的 SOCKET 写入数据” 错误,但是可以忽略(catch 改一下,让它不抛出错误就好了);\ 当局域网列表里的人全部下线,而用户正处于文件传输页面时,小概率会不跳转回局域网页面,而这会让用户误操作,向不存在的用户发送文件;
- 1
- 粉丝: 1812
- 资源: 2129
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据