public class Send {
public static void main(String[] args) throws IOException {
Socket socket = new Socket(InetAddress.getByName("DESKTOP-0NL0JDK"), 10000);
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bufferedWriter.write("多线程测试!");
bufferedWriter.newLine();
bufferedWriter.flush();
//接收服务器反馈
BufferedReader bufferedReader1 = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line1 = bufferedReader1.readLine();
System.out.println(line1);
socket.close();
}
}
public class Receiver {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(10000);
while (true){
Socket accept = serverSocket.accept();
ServerThread serverThread = new ServerThread(accept);
//开启新的线程
new Thread(serverThread).start();
}
}
}
public class ServerThread implements Runnable{
Socket s;
//构造方法
public ServerThread(Socket s) {
this.s =s;
}
@Override
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//避免文件名冲突
int count=0;
File file = new File("Test\\txxt"+count+".txt");
while (file.exists()){
count++;
file = new File("Test\\txxt"+count+".txt");
}
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String line = br.readLine();
bw.write(line);
bw.flush();
//给出反馈
BufferedWriter toSent = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
toSent.write("服务器将数据写入txxt"+count+".txt");
toSent.newLine();
toSent.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
网友评论