小项目之聊天系统步骤

来源:互联网 发布:淘宝买lol号卖家不给 编辑:程序博客网 时间:2024/05/29 19:13

一.建一个客户端的窗口

1,在类中写一个其他的方法,进而在主方法中调用它,(面向对象的思想);

二.添加TextField和TextView用来显示和发送信息

1,Frame默认类型为BorderLayout,继承Frame的类可以在里面添加控件,控件的位置可以设置,如:BorderLayout.SOUTH;

三.添加窗口关闭的处理

1,继承WindowAdapter类,重写windowClosing方法,窗口方法中添加窗口监听器addWindowListenr;

四.发送信息后在TextView中显示信息内容

 getText,setText;

五.写一个server端

1,先new一个ServerSocket,并把accept到client端的ServerSocket赋值给新的Socket;

6.使客户端连上server端;

1,在client端new一个包含server端IP地址和端口的一个Socket;

7.发送信息至server端;

1,拿到client端的Socket,并为其添加输出流,然后在输出流中写字符串并发送。

2,拿到server端的Socket,并为其添加输入流,然后读取输入流中的字符串。

8.使客户端可以发送多条信息并让server端收到;

1,在client连上server端时就建一个输出流,然后在发送字符串处不要关闭输出流,这样便可发送多个字符串;

2,在server端用一个可控制循环来多次接收输入流中的字符串;

9.起一个线程来处理一个客户端和server端的通信,使多个客户端可以一起连接到server端;

1,写一个线程类,然后创建一个对象,并启动它;

2,在线程类中写好连上client端后要做的事情;

3,为其他的事单独写一个方法,然后在main函数中调用这个方法;

10.使server端发送信息给各个客户端;

1,把每个new出来的client都加到集合中去,然后写一个send方法来发送字符串,然后循环调用send方法来发送给每一个client端;

11.客户端接收server端发来的信息;

1,在client端写一个线程来接收server发来的信息,然后启用线程;

12.修复BUG,使程序趋于完美。

注:今天又重新写了一遍这个小项目,整理了一下思路,熟悉了一下编写过程,并对每一步骤做了更详细的解释。