Zum Inhalt springen

Video per HTTP bereitstellen


Empfohlene Beiträge

Geschrieben

Ich muss in ein Programm die Funktionalität einbauen, dass es mir eine Datei von der Festplatte via HTTP bereitstellt.

Gibt es irgendwie eine Möglichkeit sich mit JAVA-Boardmitteln einen mini-HTTP-Server zu schreiben, der das macht?

Ich möchte einfach, dass ich zu gegebener Zeit dann im Browser "http://localhost:Port/videoname.mpg" eintippen kann und das Video geöffnet wird.

Geschrieben

Update:

Hab jetzt mal bisschen rumprobiert:


ServerSocket server = new ServerSocket(port);

			final Socket socket = server.accept();


			FileInputStream in = new FileInputStream(file);

			DataOutputStream out = new DataOutputStream(socket.getOutputStream());


//Ausgabe des Requests:

			new Thread(){

				public void run() {

					try {

						InputStreamReader in = new InputStreamReader(socket.getInputStream());


						int i;

						while((i = in.read()) != -1){

							System.out.print((char)i);

						}


						in.close();

					} catch (IOException e) {

						e.printStackTrace();

					}

				}

			}.start();


			//Senden des Videos

                        byte [] bytes = new byte[1024*1024];

			int length = 0;


			while((length =in.read(bytes, 0, bytes.length)) != -1){

				out.write(bytes,0,length);

			}


			out.close();

			in.close();

Leider reicht es offensichtlich nicht aus, dass Video einfach so rauszuschicken. Weiß jemand was ich vorher noch senden muss um den Client zu informieren was jetzt kommt?

Geschrieben
Weiß jemand was ich vorher noch senden muss um den Client zu informieren was jetzt kommt?

"Socket" implementier nur TCP-sockets, aber nicht automatisch das HTTP-protokoll. der bytestream der geschickt wird, enthält zwar die daten im rohformat, allerdings kann ein HTTP-client diese nicht direkt verarbeiten, ohne zumindest die mindestens erforderlichen HTTP-header zu erhalten.

so jedenfalls denke ich :)

s'Amstel

Geschrieben

Also ich hab jetzt mal versucht das ganze als HTTP-Server-Response zu implementieren und deshalb vorher folgendes rausgeschickt:

outWriter.println("HTTP/1.1 200 OK");

outWriter.println("Server: MyJavaMiniServer");

outWriter.println("Accept-Ranges: bytes");

outWriter.println("Content-Length: 7355500");

outWriter.println("Keep-Alive: timeout=5, max=100");

outWriter.println("Connection: Keep-Alive");

Allerdings funktioniert das immer noch nicht.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...