大实验 电脑/手机端即时通讯软件
实验原理和特点
通过Java语言编写了桌面和安卓端的两个简单程序,用TCP协议向服务器注册后,获得朋友的IP地址,使用UDP协议传输交谈信息。除此以外,还可以通过一定的方法(安卓端放入指定的文件夹,在APP内写文件名;桌面端输入文件完整路径)传送文件。经过实测,可以5M的速度传输文件。也实现了简单的判断对方是否在线功能。
本次实验综合了安卓编程、网络编程、持久化、多线程等知识点。
实现截图
(在这里就不贴那么多了)
思考和分析
桌面端实现得比较粗糙,不过文字部分还是考虑了比较多的情况,处理了一些常见的异常。安卓端应该是本次实验的亮点,为学习使用安卓的Handler、Toast、Singleton、AsyncTask和各种图形控件而花去了大量时间。
主要通信方法采用了UDP,是考虑到TCP和UDP都能实现,而且比较实际的做法是只保留一个。所以一开始就采用UDP,TCP的通信制作了一个实验性的子程序而没有整合到程序中。
这是我第一个独立完成的Java程序,走了些弯路,但是效果不错。我参考了网络课第四次实验的代码来编写TCP/UDP的部分,也感谢网上的各种资源和安卓项目。程序的一些用法和注意点见附件的README。