# SocketSoftware
功能:仿QQ(局域网一对多聊天)
语言:C#(Winform)
平台:Visual Studio 2019
数据库:MySQL
时间:2019-11-18~2019-11-27
---
### 步骤
1. 参考QQ软件设计界面,达到界面仿真效果
2. 建立数据库,存储用户账号、密码等信息
3. 提供注册账号、找回密码功能
4. 创建服务端、客户端
5. 测试服务端、客户端是否能建立通信
6. 编码实现文本传输
7. 编码实现表情、图片传输
8. 编码实现文件传输
---
### 简介
仿真QQ,可实现局域网一对多通信(包括传文本、图片、表情、文件(我设置了最大200M,可自行在代码修改缓冲区大小)),亦可本机自己开两个程序对聊。
---
### 使用说明(Win系统)
首先要建立数据库(我用的Navicat),格式在"database.png",仿照建立即可,记得在UserData代码中修改连接数据库的信息(数据库的端口记得让防火墙允许连接);其次我设立的Socket服务端侦听端口为6666,阁下可在cmd输入“netstat -an”查看此端口有无被占用,若有则在UserData代码更改成未被占用的一端口;接下来要在防火墙的入站规则新建规则,允许此端口被连接。完成上述操作后即可通信~
---
### 心得
11月18号晚上,我把登陆界面和聊天界面做了出来;19号则把主界面设计出来;20号我建立数据库,并完成注册账号以及找回密码功能;21号到23号队友在熟悉数据库并把数据库信息与界面衔接起来,而我在忙C#的数据库作业;24号我开始实现通信功能,刚开始只有传输文本,很快就实现了功能,后面当我加上判断传输的是文本还是图片时,就出现错误,文本能传输而传图片的时候有的能传有的则成了看不懂的字母。我百思不得其解,我怀疑是我写的通信方法有问题,因此卡了整整一天,然而在25号晚上我灵光一闪,发现了大BUG,那就是通信时是另一个线程,我写的while()循环是在这个线程跑的,而当标志量取true时while循环实际上不知道跑到哪个if else的判断语句了,所以才会出现有的图片能传有的则变成字母的现象;然后我把标志量改成三个锁后还是不行,我又发现原来screen作为一个变量,多线程情况下有可能会多个线程同时访问它,造成错误,因此我给screen加了lock,确保同一时间只有一个线程访问它;然而还是有问题,那就是只有一方传另一方再传时双方才会同时发送数据,我又卡了半天,终于在26号晚上发现bug,那就是这个标志量实际上只在自己这标志着,并没有传递给对方,因此对方根本不知道这边传的是文本还是文件还是照片,所以我在想办法,想一个既能传递信号又不会影响原有数据的方法,这时我想到了ip数据报,它的头部不也有信息吗?所以我在字节流头部分别加上不同标志,对方接收后判断标志信息并去除标志头部,这样便实现了准备送达数据的功能。
---
### 截图
- 登录界面
![login](readme_img/login.png)
- 注册界面
![register](readme_img/register.png)
- 主界面
![main](readme_img/main.png)
- 聊天界面
![chat](readme_img/chat.png)
没有合适的资源?快使用搜索试试~ 我知道了~
Winform+Socket+MySQL——仿真QQ.zip
共117个文件
png:36个
cs:25个
resources:9个
需积分: 5 0 下载量 58 浏览量
2024-06-23
10:05:24
上传
评论
收藏 7.28MB ZIP 举报
温馨提示
仿真是一种利用计算机模型复现实际系统并对其进行实验研究的技术手段。通过建立数学或物理模型来模拟真实世界的系统,并通过实验对它们进行分析和优化。仿真技术在多个领域发挥着重要作用,包括航空航天、军事、工业、经济等。 仿真技术的发展始于20世纪初,最初应用于水利模型研究和实验室工作。随着计算机技术的进步,仿真技术得到了快速发展。尤其是在50年代至60年代,仿真技术广泛应用于航空、航天和原子能等领域,大大推动了其技术进步。 仿真技术主要依赖于计算机硬件和软件。用于仿真的计算机类型包括模拟计算机、数字计算机和混合计算机。仿真软件则涵盖了仿真程序、程序包、语言以及数据库管理系统,如SimuWorks平台,它提供了从建模、实时运行到结果分析的全过程支持。 仿真方法可以分为两大类:连续系统的仿真方法和离散事件系统的仿真方法。连续系统仿真通常涉及常微分方程或偏微分方程,而离散事件系统仿真则关注随机时间点的状态变化,主要用于统计特性分析。 总的来说,仿真技术通过模拟现实世界的各种系统,帮助人们更好地理解、预测和优化这些系统的性能。未来,随着技术的不断进步,仿真将在更多领域发挥更大的作用,为科学研究和技术发展提供强有力的支持。
资源推荐
资源详情
资源评论
收起资源包目录
Winform+Socket+MySQL——仿真QQ.zip (117个子文件)
SocketSoftware.csprojAssemblyReference.cache 77KB
DesignTimeResolveAssemblyReferences.cache 18KB
DesignTimeResolveAssemblyReferencesInput.cache 9KB
SocketSoftware.csproj.GenerateResource.cache 2KB
SocketSoftware.csproj.CoreCompileInputs.cache 41B
App.config 180B
SocketSoftware.exe.config 180B
SocketSoftware.csproj.CopyComplete 0B
InfoList.Designer.cs 40KB
Chat.Designer.cs 26KB
Chat.cs 26KB
PersonalInfo.Designer.cs 25KB
InfoList.cs 19KB
AddFriends.Designer.cs 13KB
Login.Designer.cs 13KB
Register.Designer.cs 11KB
FindPassword.Designer.cs 9KB
Resources.Designer.cs 9KB
Msg_IfAddFriend.Designer.cs 8KB
PersonalInfo.cs 7KB
MyOperation.cs 7KB
Register.cs 5KB
Msg_IfAddFriend.cs 5KB
Login.cs 5KB
UserData.cs 4KB
AddFriends.cs 3KB
FindPassword.cs 2KB
AssemblyInfo.cs 1KB
Settings.Designer.cs 1KB
Program.cs 421B
TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs 0B
TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs 0B
TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs 0B
SocketSoftware.csproj 7KB
CSkin.dll 2.61MB
BouncyCastle.Crypto.dll 2.34MB
MySql.Data.dll 752KB
MySql.Data.dll 752KB
Renci.SshNet.dll 413KB
Google.Protobuf.dll 292KB
Properties.Resources.Designer.cs.dll 5KB
SocketSoftware.exe 733KB
SocketSoftware.exe 733KB
qq.ico 9KB
storage.ide 1.72MB
storage.ide 4KB
storage.ide-shm 32KB
storage.ide-wal 2.19MB
1.jpg 53KB
login.jpg 23KB
db.lock 0B
db.lock 0B
README.md 3KB
SocketSoftware.pdb 162KB
SocketSoftware.pdb 162KB
191127042639.png 1020KB
login.png 85KB
191226111447.png 70KB
191226110739.png 70KB
default.png 64KB
191124061842.png 64KB
chat.png 52KB
191129042437.png 29KB
main.png 29KB
register.png 27KB
191127102835.png 16KB
191123011544.png 15KB
191127102056.png 14KB
191123011626.png 11KB
title.png 9KB
191127042620.png 8KB
191129120002.png 8KB
191124061239.png 8KB
191124061810.png 8KB
6.png 4KB
7.png 4KB
5.png 4KB
191129095937.png 4KB
191128034238.png 4KB
3.png 3KB
4.png 3KB
1.png 3KB
2.png 3KB
8.png 3KB
9.png 3KB
search.png 2KB
add.png 1KB
emoji.png 430B
photo.png 377B
menu.png 252B
folder.png 251B
SocketSoftware.Properties.Resources.resources 524KB
SocketSoftware.InfoList.resources 40KB
SocketSoftware.Login.resources 20KB
SocketSoftware.Chat.resources 20KB
SocketSoftware.AddFriends.resources 9KB
SocketSoftware.FindPassword.resources 9KB
SocketSoftware.Register.resources 9KB
SocketSoftware.Msg_IfAddFriend.resources 9KB
SocketSoftware.PersonalInfo.resources 9KB
共 117 条
- 1
- 2
资源评论
热爱嵌入式的小佳同学
- 粉丝: 1w+
- 资源: 2136
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自适应迭代无迹卡尔曼滤波算法AIUKF 锂离子电池SOC估计 递推最小二乘法辩识电池参数 具有良好的鲁棒性,初值误差为30%,仍
- 煤矿开挖区的三维渗流仿真 煤矿开挖区模型 计算了渗流速度场以及结构的应力场
- 基于三菱PLC和组态王的三层电梯控制组态设计程序 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面
- 基于FPGA的自适应滤波器FIR IIR滤波器LMS NLMS RLS算法 FxLMS 分数阶 2023年H题 本设计是在FPG
- comsol电弧放电 考虑蒸汽
- matlab实现猎人打猴动态演示
- COMSOL 准 BIC控制石墨烯临界耦合光吸收 COMSOL 光学仿真,石墨烯,光吸收,费米能级可调下图是仿真文件截图,所见
- matlab实现绘制卫星绕地球静态轨道源代码
- 基于展示的参考文献的基础上,构建的混凝土(耦合温度)碳化数值模拟模型,有相对应完整的教学视频
- 四轮轮毂电机驱动车辆AFS和DYC VTC的联合仿真搭建、控制 以四轮轮毂电机驱动车辆为控制对象,进行AFS DYC的
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功