|
网络程序主要是创建服务器和客户端程序,其中服务器程序需要五个步骤来创建,分别是: (1)创建ServerSocket对象; (2)创建Socket对象等待客户端的连接; (3)获得对象的输入输出流; (4)流的处理过程; (5)流和连接的关闭。 客户端程序需要四个步骤来创建,分别是: (1)创建Socket对象与服务器连接; (2)获得对象的输入输出流; (3)流的处理过程; (4)流和连接的关闭。
在流的处理过程中,用一个循环来完成接收和发送过程,直到有任意一方输入over,客户端的连接就断开,而服务器会继续运行,等待下一个客户端连接。
不知为什么,当标准输入流对象关闭后,在重新获得该对象并进行输入时,就会抛出IOException,为了解决这个问题,我在每次断开客户端的连接后,在服务器端输出一条徇问的语句,由使用者确认是否关闭服务器,若不关闭,就会继续运行,同时标准输入流的对象不会关闭,这样就不会抛出异常了;只有选择关闭服务器,比标准输入流对象才会关闭。
目前这个网络程序只能实现一问一答这样进行,先把它附在这里,我希望能把它改进成客户端和服务器都能连续发送任意多条信息,而不必等待另一方回复后才能继续发,目前还没想好怎么实现。
来客可以给我一些建议吗? 程序附件如下: 服务器程序 Server.java 客户端程序 Client.java
|
一共有 2 条评论