您的位置:首页 > 其它

在线雏形聊天系统总结

2008-08-28 19:32 225 查看
在线雏形聊天系统总结

今天把马士兵老师在线聊天系统的雏形看完了,这几天由于四级准考证号丢失,导致四级成绩还没有查出来,跑到教务处去问准考证号吃了几次闭门羹,另外还发生了一些乱七八糟的事情把原本的和谐都打破了,心情有够差的,学都学不进去了,该怎么办?老师那边不停的施加压力,我要是不能参加那个项目会怎么样呢?老师会很失望吧,很不愿意看到的结局,有时真想退出这个工作室,自己一个人想学的时候学,不想学的时候就玩玩多好,但是没办法,做人要厚道,都呆了这么久了,这句话又该如何说出口,不能背叛了一位老师又辜负另一位老师的希望。我想,去趟岳麓书院吧,看看那副我最爱的陈老师的砂岩画,顺便整理一下心情,不过现在估计已经关门了吧,要么就到书院门口坐着吧,可是现在天怎么又开始下雨了..............

算了,还是在这里呆着耐心总结这个在线聊天系统吧,能写多少是多少

最大的收获是学习利用eclipse里的报错提示修正代码的错误,还有一个就是力求写出更完美的版本,这是一门很值得深究的学问,今儿个我就来将马老师的代码深入的解读一番吧,完了发现了各种问题自己再写一个。

首先是客户端:

1.至少得有个框吧,所以new 一个frame是必须的,有两种方法可以实现frame,一个是extends frame,然后自己写一个方法lunch()运行这个frame,第二种方法是implements runnable 接口,重写run 方法吧,那个方法比较好呢?有待研究.....

2.设置布局,用来排列对话框

3.pack();有什么作用?说白了就是根据已有的控件,自动调节窗口大小的

4.增加对窗口关闭的监听,刚开始时还不知道这个frame改如何关闭,点击小红叉是没有反应,在dos命令框里是按ctrl+C关闭,而在eclipse里要按控制台输出处的一个红色的正方形小方框,这个还是王燚同志告诉我的,害我还找了好半天都没找到还硬憋着不敢多问害怕被嘲笑死,改天要发表一片文章好好感谢这个对我帮助如此巨大的人。又扯远了,不然又被嘲笑成是张锦老师的最喜欢的弟子呢,连闲扯的功夫都学的如此出神入化。对于窗口的关闭程序,在类的内外都没有再用到的它的可能了,所以我们将监听类WindowAdapter()设计成为一个匿名类,实现public void windowClosing(WindowEvent arg0)方法,利用System。exit(0)做退出。

5.我们需要把TextField的内容显示到TextArea里去改如何做呢?我们可以做一个Button,然后加上对这个Button的监听,当然我们也就可以就简单的对回车键做出回应,对TextField添加一个监听类,在这个类里面getString()用户输入的字符串然后将其再setString()到TextArea里 ,当然在取得字符串的同时可以调用trim()函数去掉两边的空格

6.客户端还有connect()和disconnect()这两个函数,为的是让客户端更好的控制各种exception,在connect()里面,我们首先起一个socket s = new Socket("127.0.0.1", 8888);去连接server,当然要try-catch一下,以免出现UnknowHostException。另外还有一点值得提的是,对于这种client与server之间的程序.,try-catch一大堆一大堆的,不妨将变量都定义成成员变量,也以便与别的函数互通有无建立联系。另外在建立连接的同时我们就把DataInputStream()与DataOutputStream()实例化,这样是一种很好设计,是设计更接近实际情况,有时不一定哪里要用的时候就马上去声明一个并立马new 出来,不妨稍微动点脑筋看能不能调整一下会有意外的惊喜,希望自己以后能将这一点运用起来。

7.对于disconnect(),自然是做一些关闭连接的操作,记得力求完美的写,不仅要写try-catch也要先判断是否为空然后在关闭 。

服务器端:

怎么在server端写了一个class client implements runnable这个方法,还有待考证........等我在自习研究一下,下次告诉大家
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: