基于C#实现中央定位服务器的P2P网络聊天系统

功能说明

此程序可以完成的任务有(调试双方的电脑都请一定关闭防火墙使用!):

账号登录上线/下线

维护通讯录,查询好友是否在线

文字通信(TCP)

文件传输(10M 以上)

友好的用户界面

发送表情和窗口抖动

改变字体、颜色、大小;加粗、加下划线、斜体

为好友添加备注

功能演示

按照从登录界面到好友界面再到聊天界面的方式进行功能演示和说明,展示的是在自己电脑上用自己的学号和测试学号调试的情况。

登录界面

界面如下:

这里用水印的方式提示用户应该输入的信息,符合登录习惯。对于非正常的登录有以下几种提示信息:

在这里插入图片描述

① 网络连接故障时(例如没联网)

② 没有输入用户名或密码

在这里插入图片描述

在这里插入图片描述

③ 输入了不存在的用户名或者密码错误

在这里插入图片描述
在这里插入图片描述

好友界面

界面如下,显示了用户本人的学号信息和其好友列表。在好友列表中,第一列为好友学号,第二列为其备注,第三列为其当前的 IP 地址,如果不在线则为“*”,最后一列为状态,上线为“on”下线为“off”。图中列表是读取该用户存在本地的好友记录得到的(可执行程序所在文件夹中的“学号.txt”文件)。

在这里插入图片描述

接下来演示该界面上各个按钮的功能:

① “Add”:查询一个学号并添加到好友列表中,其上线状态和 IP 地址按下该按钮时向服务器查询得到的对用户查找添加自己、不存在的学号和已经在好友列表中的学号这三种

在这里插入图片描述

错误操作给出提示:

② “Refresh”:刷新,更新列表好友的在线状态和 IP 地址,如果我将

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也登陆上再刷新 2017011010 的列表能看到:

③ “Change Alias”:修改好友备注

④ “Delete”:删除好友

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⑤ “Log out”(以及直接按窗口的叉号):下线,返回登录界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⑥ “Send Message”:先进行一次刷新操作,然后向选择的对象发起对话

弹出聊天窗口,下面是几种错误提示:

聊天界面

在这里插入图片描述
在这里插入图片描述

正确选择好聊天对象后就能打开聊天界面如下,三个富文本框分别用于写发送内容、显示聊天内容及显示聊天对象信息(备注和学号,注意有时对话的一方可能并非另一方的好友,此时备注显示“Stranger”):

下面说明各个按钮的功能:

在这里插入图片描述
在这里插入图片描述

① “Send”:发送输入框的内容,若输入为空有提示信息,也可以通过按下回车建实现其功能

② “Clear”:清空输入框

在这里插入图片描述
在这里插入图片描述

③ “Font”、“Color”、加粗、下划线、斜体图标:用于改变字体

④ 表情图标:发送表情

⑤ 握手图标:窗口抖动

⑥ 文件图标:传输文件,文件发送方按下后弹出文件选择窗口,选择文件

后在聊天窗口中显示文件路径;文件接收方选择是否接收,如果接收则可以选择存储路径,如果选择不接收或者选择接收而没有选择路径,统一保存在可执行程序文件夹中 trash 目录下,文件的完整性可通过对比大小来检查(注意在传输特别大的文件时,传输过程中窗口会出现类似卡死的情况,其实只是因为文件太大传输用时较长,耐心等待一会即可)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值