标签:个人 .com tcp 编程 理解 学习 博客 原则 输入
最近由于项目需要接触了一些网络编程方面的东西,也理解了IP地址的一些操作、TCP套接字操作和UDP数据包操作。其中用的最多的当然是TCP套接字了,为了根据实例程序进行更好的学习,特地学习了《Java程序设计 慕课版》这本书有关网络程序设计的网络聊天室案例,这个案例程序在之前的博客里也有写到,有兴趣的可以去翻看。通过自己的理解,对这个案例的程序进行了详细的注释之后,决定这个案例程序不太好,于是就想着,如果我是客户,我会提出什么样的需求呢,本着“客户就是上帝”的原则,我对这个案例程序提出了很多不满意的地方,之后又根据这些不满意的地方分析出能不能实现,最后在不断地尝试和坚持下完成了第一版程序的重编写工作,为了记录一下同时也分享一下自己的收获吧。
第一版主要修改的地方:
1.显示框背景图片。
2.输入部分背景图片。
3.为了显示框背景保持长高比,禁止改变窗口大小。
4.修改字体和字体颜色。
5.输入框为空时,不能发送消息。
6.显示框文字内容自动换行以及换行的时候字不能分离,例如一个单词在换行的时候不会断开。
7.解决了在为显示框添加背景图片的时候,背景图片不随着滚动条的滚动而移动。
这些问题大部分都跟Java Swing编程有关,虽然都是很简单的东西,但是还是进行了很多的尝试,可以说是收获很多了。
第一版代码:https://github.com/BigJunOba/ChatTogether
第一版效果图:
解决上述问题之后,作为“客户”的我,又觉得启动的时候启动的是若干个客户端窗口文件和一个服务器文件,服务器的输出都是在控制台输出的,有了之前解决问题的经验,考虑能不能写一个服务器窗口文件,将服务器的输出都放在窗口里面,这样启动的时候都是启动的是窗口文件,个人感觉好一些。
于是有了修改后的第二版程序:
1.将服务器输出的文本内容在窗口显示出来
2.添加关闭服务器的按钮
3.服务器显示出所有参与聊天的成员
4.客户端显示当前参与聊天的数目
可能会有的第三版程序:
1.添加强制某一个客户端下线功能(不过你一个服务器做这个是不是不太好?)
标签:个人 .com tcp 编程 理解 学习 博客 原则 输入
原文地址:https://www.cnblogs.com/BigJunOba/p/9025352.html