/P2P-network-communication-system

利用C#编写的网络通信软件,类似WeChat。

Primary LanguageC#

本项目的编译环境如下:


Windows 10 操作系统

Visual Studio 2017 

C#.NET framework 4.6.1 框架

******************************************

本项目只是一个客户端程序,服务器端可以尝试自己维护(看代码就大概知道服务器干什么的了)
.exe文件可以直接打开
.msi文件可以安装到本地

*****************************************

登录功能:
登录窗体需要在两个TextBox里输入账号密码,在点击“登录”时,程序将连接服务器端,发送相应的登录指令。
如果登录成功,连接断开,此窗体将隐藏,并打开主窗体,账号会作为username传递给主窗体。
如果连接失败或者账号密码错误,将弹出相应的提示信息。

查询功能:
控制区最上方为查询功能区,可以添加好友并查询好友是否在线,输入正确的账号,点击“查询”就会在好友列表中加入被查询的好友。
在本地文件“Friends.txt”中也会插入一条记录,并且连接服务器端,发送查询命令,结果将会显示在好友列表中。输入错误的账户会有相应提示。

注销功能:
点击“注销”按钮后,程序就会连接服务器端,向服务器发送下线指令,当收到正确回复时,主窗体和登录窗体也会关闭。下线错误将会弹出相应信息。
当点击主窗体的关闭按钮时,也会执行注销功能。

添加群组功能:
在主窗体中点击“添加群组”按钮,将会弹出添加群组窗体。
在添加群组的窗体中可以输入群名,在“群聊成员”中输入相应的账号,点击“添加”就会执行查询功能,并且在下方的Panel控件中显示其信息。
当然,用户是默认在群聊成员中的,当群聊成员不少于2人时,可以点击“创建”,将群组添加入群组列表中。
并在本地文件"Groups.txt"里插入一条记录,记录群名。也会创建一个“群名\_G.txt”文件,记录群成员信息。

显示列表功能:
在主窗体中点击“好友”或者“群组”,就会读取本地文件里的好友或者群组信息,在下方显示好友列表或者群组列表。
好友列表的信息有好友账号和其状态,群组列表的信息有群组名称和群组人数。
每点击一次列表信息就会更新,添加好友或者添加群组就会自动更新。

点击聊天功能:
当点击好友或者群组列表中的成员时,清空聊天区的richtextbox里的内容。
读取“账号\_LTJL.txt”或者“群名\_LTJL.txt”里的聊天记录,并在旁边的窗口显示(若没有,就创建)。
点击之后,聊天区的按钮变成可以点击状态。

发送信息:
在下方的输入框中编辑需要发送的文本信息,点击“发送”按钮,可以将输入框的信息发送给好友。
发送时会查询对方状态,在线可以发送,不在线无法发送,发送失败会有提示。
也可以通过快捷键“Ctrl+Enter”进行发送。发送成功后会写入聊天记录。

文件传输功能:
点击“文件”可以打开选取文件的dialog,选取文件,打开,就可以给在线好友发送文件。
发送的文件可以在对方的“File”文件夹里找到。聊天记录里也会插入一条记录。

发送表情:
点击“表情”,会打开发送表情的一个新窗体,里面显示程序内嵌的表情,点击相应表情,窗口关闭,发送表情。
再次点击“表情”按钮,窗口也会关闭。
发送表情其实是发送一个message,表示表情包的标识,对方收到后,会根据标识,显示相应的图片。

接收功能:
接收信息不需要打开和对方的聊天框,收到信息后,如果不是当前的聊天对象,就会将信息写入相应的聊天记录里。