天天看点

从客户端的键盘录入字符,如aaa. 服务器端接收aaa,并在控制台上打印aaa.然后将其转换为大写AAA返回到客户端, 由客户端打印到客户端控制台上

服务器端:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TransServer {

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

}
           

客户端:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

public class TransClient {

	public static void main(String[] args) throws Exception, IOException {
		/**
		 * 客户端:
		 * 1.需要先有socket客户端
		 * 2.客户端的数据源   键盘
		 * 3.客户端的目的  socket
		 * 4.接收服务器的数据  源  socket
		 * 5.将数据打印在控制台
		 * 6.在这些流中操作的数据,都是文本数据
		 * 
		 * 
		 */
		//1.创建socket对象
		Socket s = new Socket(InetAddress.getLocalHost(), 6666);
		//2.获取键盘录入
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//3.获取socket输出流
		PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
		//4.获取socket输入流 读取服务器端返回的大写数据
		BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
		
		String line=null;
		while((line=br.readLine())!=null){
			//发送
			pw.println(line);
			pw.flush();
			
			//接收
			String str = br1.readLine();
			System.out.println(str);
		}
		s.close();
		

	}

}
           

注意:先启动服务器端,再启动客户端。最后应该在客户端的控制台上输入字符。

继续阅读