JavaSE_网络编程_TCP_练习1

来源:互联网 发布:商品销售记账软件 编辑:程序博客网 时间:2024/06/06 07:41

客户端代码:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class TCP_Client_Demo2 {  public static void main(String[] args) throws UnknownHostException, IOException {    /*方法说明:     *练习1:(单线程)客户端键盘输入小写字母,     *发送给服务端,服务端将字母转成大写字母,     *再发回给客户端,客户端输入over结束转换!     */    method_1();  }  private static void method_1() throws UnknownHostException, IOException {    /*整个思路:     * 1,需要先有socket端点。     * 2,客户端的数据源:键盘。     * 3,客户端的目的:socket中的输出流(字节流).     * 4,接收服务端的数据,源:socket。     * 5,将数据显示在打印出来:目的:控制台.     * 6,在这些流中操作的数据,都是文本数据。     * 客户端:     * 1,创建socket客户端对象。     * 2,获取键盘录入。     * 3,将录入的信息发送给socket输出流。     * 4,读取socket输入流并显示服务端发回的一行大写字母。     */    //1,创建socket客户端对象。    Socket s = new Socket("127.0.0.1",10004);    //2,获取键盘录入。    BufferedReader bufr  =        new BufferedReader(new InputStreamReader(System.in));    //3,socket输出流。//    new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));    //PrintWriter和True同在    PrintWriter out = new PrintWriter(s.getOutputStream(),true);    //4,socket输入流,读取服务端返回的大写数据    BufferedReader bufIn  =        new BufferedReader(new InputStreamReader(s.getInputStream()));    String line = null;    while((line=bufr.readLine())!=null){      if("over".equals(line))        break;      out.println(line);      //读取并显示服务端发回的一行大写字母。      System.out.println(bufIn.readLine());    }    s.close();//植入结束标记  }}


服务端代码:


import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class TCP_Server_Demo2 {  public static void main(String[] args) throws IOException {    method_1();  }  private static void method_1() throws IOException {    /*     * 1,serversocket服务。     * 2,获取socket对象。     * 3,源:socket,读取客户端发过来的需要转换的数据。     * 4,目的:显示在控制台上。     * 5,将数据转成大写发给客户端。      */    ServerSocket ss = new ServerSocket(10004);    //2,获取socket对象。    Socket s = ss.accept();    String ip = s.getInetAddress().getHostAddress();    System.out.println(ip+"......connected");    //3,获取socket读取流,并装饰。     BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));    //4,获取socket的输出流,并装饰。PrintWriter和true同在    PrintWriter out = new PrintWriter(s.getOutputStream(),true);    String line = null;    while((line=bufIn.readLine())!=null){      System.out.println(line);      out.println(line.toUpperCase());    }    s.close();    ss.close();  }}


原创粉丝点击