需求:
客户端向服务器写字符串(键盘录入),
服务器(多线程)将字符串反转后写回,
客户端再次读取到是反转后的字符串
我也不知道对不对,垃圾电脑运行不了。。。
客户端:
package day22HomeWork;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class 客户端 {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
InetAddress address = InetAddress.getLocalHost();
int port=7777;
Socket s=new Socket(address, port);
OutputStream os=s.getOutputStream();
PrintStream ps=new PrintStream(os, true);
String line=sc.nextLine();
ps.println(line);
InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String str=br.readLine();
System.out.println(str);
os.close();
s.close();
}
}
服务器:
package day22HomeWork;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class 服务器 {
public static void main(String[] args) throws Exception {
ServerSocket ss=new ServerSocket(7777);
while(true) {
Socket s=ss.accept();
new Thread() {
public void run() {
try {
InputStream is=s.getInputStream();
byte[] arr=new byte[1024];
int len=is.read(arr);
String str=new String(arr, 0, len);
System.out.println(str);
StringBuilder sb=new StringBuilder(str);
sb.reverse();
String str1=sb.toString();
OutputStream os=s.getOutputStream();
os.write(str1.getBytes());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}
}