
简单聊天工具
一、描述
本聊天程序,是基于 TCP 传输协议的两用户即客户端与服务端之间的通信,
是一种一对一的通信方式。程序只涉及单线程编程,所以只能实现两个端口之
间的通信,通信包括文本信息的输入传输显示,以及单个文件的传输。
1.1 连接服务器
聊天时应该是一端先运行服务端,会显示本机的 ip 地址以及监听的端口号,
此时服务端等待客户端连接。
另一端运行客户端,然后客户端输入服务端的 ip 地址以及服务端的监听端
口号,连接服务端,连接成功后就能实现两端之间的通信了。
1.2 聊天界面
连接成功后,每一端会弹出一个聊天界面,包含一个聊天记录显示窗口,
一个文字输入窗口,还有三个按钮,分别是发送,发文件,清除。
1.3 发送、发文件及清除按钮
发送就是发给对方消息。点击发文件按钮回将此时文本输入框中的内容发
给对方,同时显示在自己的聊天记录窗口中。注意当你发送的内容为空时,会
提示你不能发送空内容,弹出一个提示窗口。
发文件按钮是用来选择要发送的文件的。按发文件按钮后会出项一个文件
选择对话框,然后用户可以选择要传输的文件,选择文件后,需要等待对方接
收才能发送,对方接收后,会提示可以发送了,此时点击发送按钮便可以发送
此文件,如果对方取消接收则会提示发送失败。当对方想发文件时,文件接收
端会弹出一个文件路径选择对话框,用户可以通过此对话框选择文件的保存路
径,当然用户也可以点击取消按钮,取消文件接收。
清除按钮用来清除聊天记录。当你点击清除按钮后,第一个文本区的内容
即聊天记录就删除了。
二、设计
2.1 总体设计
聊天程序是通过 socket 先链接,再聊天通信的软件。而本程序实际上是服
务端与客户端之间通信的程序,应该先运行服务端,并且监听一个服务端口,
等待客户连接。然后客户端通过服务端的 ip 以及监听的端口号,即 socket 连接
服务端,然后进行通信。
考虑到在 dos 界面下只能实现两个人时之间的同步通信,而对于更加方便的
异步通信却无法实现,所以应该加入图形界面,这样通过在聊天窗口中对话通
信,实现异步通信的目的。聊天就是文本形式的对话,在客户端与服务端之间
传输,而文件传输也是如此,因此聊天最重要的就是对输入输出流的操作,通
过输出流向对方发消息,通过输入流接收对方发来的消息。