26-网络编程-14-网络编程(TCP协议-练习-文本转换服务端)

来源:互联网 发布:政府审查知乎 编辑:程序博客网 时间:2024/05/20 00:12
/* * 转换服务端分析: *  * 1.需要ServerSocket服务 *  * 2.获取Socket对象,为了获取客户端发来的数据 *  * 3.源: Socket,读取客户端发来的需要转换的数据 *  * 4.目的:显示在控制台上 *  * 5.将数据转换成大写发给客户端 */package demo;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 TextTransServer {public static void main(String[] args) throws IOException {//1.新建ServerSocket对象ServerSocket ss = new ServerSocket(10004);//2.获取客户端的Socket对象Socket s = ss.accept();//【附加功能】获取客户端ipString ip = s.getInetAddress().getHostAddress();System.out.println(ip+"......connected");//3.获取Socket的输入流,并对其装饰,此流为了读取客户端发来的数据BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));//InputStreamReader是将字节流转成字符流//4.获取Socket的输出流,并装饰,此流为了将服务端数据反馈给客户端PrintWriter out = new PrintWriter(s.getOutputStream(),true);/* * 这里发现客户端与接收端一样的,即都需要bufIn和out这俩流,只是顺序不一样,客户端先往外输出数据到服务端,再接收服务端 * 反馈回来的数据,所以先out再bufIn;而服务端正好相反,先接收客户端数据,即bufIn,再将处理后的数据输出给客户端,即out */String line = null;while((line=bufIn.readLine())!=null){System.out.println(line);out.println(line.toUpperCase());}//关闭资源s.close();ss.close();}}

0 0
原创粉丝点击