Я использую браузер для отправки запроса на получение сервера, просто набрав адрес 127.0.0.1:1501/filename.png. Цель состоит в том, чтобы загрузить файл с сервера. Сервер успешно принимает запрос и загружает выбранный файл, он также входит в цикл while и несколько раз выполняет метод печати, означая, что что-то отправляет, но при проверке Google Chrome на вкладке «сеть» я получаю только filename.pngне удалось понять, почему этот код не работаетprint - это метод, который просто вызывает метод System.out.println ()
public class MainClassServer {
public static void main(String[] args){
// TODO Auto-generated method stub
ServerSocket server = null;
try {
server = new ServerSocket();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
server.bind(new InetSocketAddress("127.0.0.1", 1501));
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while(true) {
String message;
Socket client = null;
print("Waiting for client...");
try{
client = server.accept();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
BufferedReader reader = null;
DataOutputStream writer = null;
try {
reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
writer = new DataOutputStream(new BufferedOutputStream(client.getOutputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
message = reader.readLine();
if(message!=null) {
//I get the correct filename with string manipulation
// I correctly access the file in fact it exist
File file = new File(path);
if(file.exists()) {
byte[] bytes = new byte[1024];
InputStream in = new FileInputStream(path);
int count;
while ((count = in.read(bytes)) > 0) {
//the program print some bytes so it writes something to someone
print("Sending " + count + " bytes");
writer.write(bytes, 0, count);
}
writer.flush();
}else {
print("File does not exsist.");
}
writer.close();
reader.close();
server.close();
break;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}