Я пытаюсь подавать небольшой файл на свой рабочий стол с помощью NanoHTTPD. Сервер запускается нормально, но по какой-то неизвестной причине он не может обслуживать файлы. Эта же программа отлично работает в Android. Может ли кто-нибудь дать мне несколько указателей? Прошло больше часа, но я понятия не имею. Вот моя настольная версия сервера NanoHTTPD:Сервер NanoHTTPD на рабочем столе
package com.desktopserver;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLConnection;
import java.util.Map;
import com.desktopserver.NanoHTTPD.Response.Status;
public class MainClass {
static int PORT = 8080;
static WebServer MyServer;
static FileInputStream fis;
static BufferedInputStream bis;
public static void main(String[] args) {
MyServer = new WebServer();
try {
MyServer.start();
System.out.println("Webserver Started @ PORT:8080");
} catch (IOException e) {
e.printStackTrace();
}
}
public static class WebServer extends NanoHTTPD {
String MIME_TYPE;
public WebServer() {
super(PORT);
}
@Override
public Response serve(String uri, Method method,
Map<String, String> header, Map<String, String> parameters,
Map<String, String> files) {
try {
File file=new File("/home/evinish/Music/Meant_to_live.mp3");
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
MIME_TYPE= URLConnection.guessContentTypeFromName(file.getName());
System.out.println("\nMIME TYPE: "+MIME_TYPE);
System.out.println("\nFILE NAME: "+file.getName());
} catch (IOException ioe) {
System.out.println("File IO Exception");
}
return new NanoHTTPD.Response(Status.OK, MIME_TYPE, bis);
}
}
}
я получаю этот выход, но это так:
Webserver Started @ PORT:8080
Что я здесь отсутствует? Большое спасибо за вашу помощь.
Как вы проверить «он не в состоянии обслуживать файлы»? – gio
URL-адрес истекает. Однако, когда я использую один и тот же код NanoHTTPD для Android, я могу получать данные. Каковы другие последствия? –
Хо, вы подключаетесь к нему в _both_ случаях (Android, рабочий стол)? – gio