import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8080);
ExecutorService pool = Executors.newFixedThreadPool(8);
pool.submit(new Runnable() {
@Override
public void run() {
while (true) {
try {
receive(serverSocket);
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
//serverSocket.close();
}
private static void receive(ServerSocket serverSocket) throws IOException {
Socket socket = serverSocket.accept();
//获取网络输入流
InputStream netIn = socket.getInputStream();
//获取本地输出流
//文件名随机生成
long l = System.currentTimeMillis();
File file = new File("server" + l + ".txt");
FileOutputStream localOut = new FileOutputStream(file);
int len=0;
while ((len = netIn.read()) != -1) {
localOut.write(len);
}
//反馈上传状态
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
if (file.exists()){
bw.write("成功");
bw.newLine();
}else {
bw.write("失败");
bw.newLine();
}
socket.shutdownOutput();
//关闭连接
socket.close();
}
}
import java.io.*;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
while (true) {
Socket socket = new Socket("127.0.0.1",8080);
//获取网络输出流
OutputStream netOut = socket.getOutputStream();
//获取本地输入流
FileInputStream localIn = new FileInputStream("Client.txt");
int len=0;
while ((len = localIn.read()) != -1) {
netOut.write(len);
}
socket.shutdownOutput();
//接收反馈状态
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
//关闭连接
socket.close();
}
}
}