网络编程练习字符串反转



客户端向服务器写字符串(键盘录入),

服务器(多线程)将字符串反转后写回,

客户端再次读取到是反转后的字符串


服务端

public class str_server {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		ServerSocket server = new ServerSocket(54321);
		System.out.println("服务器启动,绑定54321端口");
		
		while(true) {
			final Socket socket = server.accept();	//接受客户端的请求
			
			new Thread() {					//开启一条线程
				public void run() {
					try {
						BufferedReader br = new BufferedReader(
								new InputStreamReader(socket.getInputStream()));//获取输入流
						PrintStream ps = new PrintStream(socket.getOutputStream());//获取输出流
						
						String line = br.readLine();		//将客户端写过来的数据读取出来
						line = new StringBuilder(line).reverse().toString();//链式编程
						ps.println(line);					//反转后写回去
						
						socket.close();
					} catch (IOException e) {						
			
						e.printStackTrace();
					}
				}
			}.start();
		}
	}

}


客户端

public class str_client {

	/**
	 * @throws IOException 
	 * @throws UnknownHostException 
	 */
	public static void main(String[] args) throws UnknownHostException, IOException {
		Scanner sc = new Scanner(System.in);	//创建键盘录入对象
		Socket socket = new Socket("127.0.0.1", 54321);	//创建客户端,指定ip地址和端口号
		
		BufferedReader br = new BufferedReader(
				new InputStreamReader(socket.getInputStream()));//获取输入流
		PrintStream ps = new PrintStream(socket.getOutputStream());//获取输出流
		
		ps.println(sc.nextLine());	//将字符串写到服务器去
		System.out.println(br.readLine()); //将反转后的结果读出来
		
		socket.close();
	}

}










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值