- /**
 
 -  * 需求:1.键盘读取字符,并发送到服务器端。 2.由服务器端将字符转换成大写字符,返回给客户端。 3.客户端读取数据,打印
 
 -  * 4.当客户端输出over,转换结束,关闭资源
 
 -  * 
 
 -  * 步骤:1. 建立socket服务,指定要连接的主机和端口。 2. 通过IO读取键盘录入 3.
 
 -  * 通过socket流中的输出流,将数据写入到该流中,通过网络发送到服务器端 4. 通过socket流中的输入流,读取从服务器端返回的数据,打印 5.
 
 -  * 当输出over时,转换结束 6. 关闭资源
 
 -  */
 
  
- public class TCPClient {
 
  
-         public static void main(String[] args) throws UnknownHostException,
 
 -                         IOException {
 
 -                 // 1.建立socket服务,指定要连接的主机和端口
 
 -                 Socket s = new Socket("localhost", 10009);
 
 -                 // 2.通过IO读取键盘录入
 
 -                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
 -                 // 3.获取socket流中的输出流
 
 -                 BufferedWriter bwOut = new BufferedWriter(new OutputStreamWriter(
 
 -                                 s.getOutputStream()));
 
 -                 // 4.获取socket流中的输入流
 
 -                 BufferedReader brIn = new BufferedReader(new InputStreamReader(
 
 -                                 s.getInputStream()));
 
 -                 // 定义一行数据
 
 -                 String line = null;
 
 -                 // 写字符到服务器端,从服务器端读返回的大写字符
 
 -                 while ((line = br.readLine()) != null) {
 
 -                         // 键盘读到over,转换结束
 
 -                         if (line.equals("over")) {
 
 -                                 break;
 
 -                         }
 
  
-                         bwOut.write(line);
 
 -                         // 输出一个回车符
 
 -                         bwOut.newLine();
 
 -                         // 刷新缓冲区
 
 -                         bwOut.flush();
 
  
-                         String str = brIn.readLine();
 
 -                         System.out.println(str);
 
  
-                 }
 
 -                 // 5.关闭资源
 
 -                 br.close();
 
 -                 // close后在socket流中加了一个-1,告诉服务端的readLine()方法,readLine()方法里面也调用的是read方法,所以遇到-1结束。
 
 -                 //当然也可以在服务器端的while循环里对over进行判断。
 
 -                 s.close();
 
  
-         }
 
  
- }
 
 
  复制代码 |