基于Tcp协议的网络多线程编程模板

服务器端 
package com.sherlock.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerTest {
	public static void main(String[] args) throws IOException {
		ServerSocket server = new ServerSocket(11112);
		
		while(true){
			final Socket socket = server.accept();
			new Thread(){
				@Override
				public void run() {
					
					try{
					PrintStream ps = new PrintStream(socket.getOutputStream());
					BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
					while(true){
					String str = br.readLine();
					System.out.println("接受到的字符串是:" + str);
					
					StringBuffer str1 = new StringBuffer(str);
					str=str1.reverse().toString();
					
					ps.println(str);
					}
					}catch(IOException e){
						e.printStackTrace();
					}finally{
						if(socket != null){
							try {
								socket.close();
							} catch (IOException e) {
								// TODO 自动生成的 catch 块
								e.printStackTrace();
							}
						}
					}
					
				}
			}.start();
			
		}
		
	}

}



客户端

package com.sherlock.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class ClientTset {
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket socket = new Socket("127.0.0.1",11112);
		
		PrintStream ps = new PrintStream(socket.getOutputStream());
		BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		
		while(true){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串:" );
		String str1 = sc.nextLine();
		ps.println(str1);
		
		String str = br.readLine();
		System.out.println("反转后的字符串是:" + str);

		}
		
		
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/qq_38763885/article/details/80867329