.jpg, .wav per ServerClient Verbindungen verschicken

Status
Nicht offen für weitere Antworten.

dadidum

Mitglied
Hallo zusammen ich möchte per ServerClient Verbindung Daten übermitteln. Ich habe dafür ein gängiges + lauffähiges ServerClient Programm aus dem Inet gefischt!! Erstelle ich eine Verbindung auf dem eigenen Rechner so funktioniert es tadellos, sobald ich aber Netzwerk es probiere, gibt die catch Funktion vom Server den "Netzfehler" aus! Hat jemand ne Idee was dort schief läuft????

Oder ne bessere Idee?????

danke im vorraus dadidum




Hier der Server

Code:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.channels.FileChannel;


public class TCPServer {
	
	
	
	public TCPServer(){
		
        try {
            ServerSocket servSock = new ServerSocket(565);        
            System.out.println("Warte auf Verbindung...");      
            Socket clientconnection = servSock.accept();
            System.out.println("Client verbunden von " + clientconnection.getInetAddress());   
            
 
            ObjectInputStream incoming = new ObjectInputStream(clientconnection.getInputStream()); 
            		
                           //Das Objekt wird eingelesen und in ein File geschrieben
                           // anschließend sicherlich umständlich kopiert!!

			File targi  = (File) incoming.readObject();
              		File targetFile = new File("C:/123.wav");

			FileInputStream in = new FileInputStream(targi);
			FileOutputStream out = new FileOutputStream(targetFile);

	       		FileChannel sourceChannel = in.getChannel();
		        FileChannel targetChannel = out.getChannel();

		        sourceChannel.transferTo(0, targi.length(), targetChannel);

	          	sourceChannel.close();
	   		targetChannel.close();

        }
        catch(Exception e) {System.out.println("Netzfehler!");}
	}

}

Nun der Client

Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

public class TCPClient {


	public static int port = 0;
	public static String  host = null;
	public static Socket serverconnection = null;
	
	
	
	public static void main(String args[])throws Exception{
		
		try{
			//DAS FILE WIRD GELESEN
			File sourceFile = new File("yip.wav");
 			
 			// Benutzter-Eingaben über BufferReader einlesen
		  	BufferedReader userIn=new BufferedReader(new InputStreamReader(System.in));
 			
  			// Für den Verbindungsaufbau zum Host werden Benutzereingaben benötigt.
  			System.out.println("Mit welchem Rechner wollen Sie verbunden werden:");
  			host = userIn.readLine();		
  			System.out.println("Auf welchem Port wollen Sie sich anmelden?");
  			port = Integer.parseInt(userIn.readLine());
  			
  			// Ein Socket wird erstellt. Hierbei wird eine Verbindung zum 
  			// host aufgebaut. Das Socket-Objekt repräsentiert den host.
			serverconnection = new Socket(InetAddress.getByName(host),port);
			
			System.out.println("Verbindung zu "+host+" auf Port: "+port+" aufgebaut!");
  			
			
			// Es wird ein OutptStream erzeugt und in diesem ein String[] gelegt
			ObjectOutputStream outgoing = new ObjectOutputStream(serverconnection.getOutputStream()); 
			outgoing.writeObject(sourceFile);
			
			
  			// Der InputStream vom Socket wird geholt, und an einen BufferedReader 
  			// weitergeleitet. So können Servermeldungen leicht ausgelesen werden.
		  	BufferedReader serverIn = new BufferedReader(new InputStreamReader(serverconnection.getInputStream()));
		  	
		  	
		  	// Ein PrintWriter leitet sämtliche Eingaben, an den 
		  	// Outputstream des Serversweiter. Über Ihn können komfortabel 
		  	// Meldungen an den Client übertragen werden.
		  	PrintWriter serverOut = new PrintWriter(serverconnection.getOutputStream(),true);
		
		  	// Benutzer eingabe
		   	String command=null;
		
		   	// Antwort vom host	
		  	String response=null;
		  	
		  	// Schleife läuft solange bis der Server die Verbindung 
		  	// unterbricht. 
		  	do {
		  		// Benutzereingabe wird ausgelesen und zum Server geschickt
		  		
		   		System.out.print("Eingabe: ");
		   		command=userIn.readLine();
		   		serverOut.println(command);
		   		serverOut.flush();
		   		// Antwort vom Server wird entgegen genommen, und auf die 
		   		// Konsole geschrieben
		   		response=serverIn.readLine();
		   		System.out.println(response);
		   	}
		   	while(response!=null);  	
		 }
		 catch(IOException e) {	System.out.println("Verbindung zum Server verloren!");		 }
		 finally {
		 	try { 
		    	// Socket wird geschlossen
		    	serverconnection.close(); 
		  	}
		  	catch(IOException e) {
		  		System.err.println(e);
		 	}
		}

	}

}
 

dadidum

Mitglied
java.io.FileNotFoundException: yip.wav (Das System kann die angegebene Datei nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at TCPServer.<init>(TCPServer.java:51)
at Starter2.main(Starter2.java:21)



mmmh soll wohl bedeuten das er Datei schon auf der ClientSeite nicht gefunden hat, allerdings liegt sie in dem Verzeichnis!!!
 

thE_29

Top Contributor
na, wenn er sie nicht findet dann findet er sie nicht, und aus ;)

dann hast irgendwo nen pfusch gedreht
 

dadidum

Mitglied
Tja wird wohl, nur was mich dabei irritiert, ...wenn ich auf meinem Rechner ClientServer laufen lasse erstellt er mir ohne Probleme die Datei!!

Gibt es vielleicht noch eine andere Variante um diese Idee zu verwirklichen!!

danke trotzdem....
 

dadidum

Mitglied
Der Server hat ja diese Fehlermeldung ausgespuckt, das bedeutet ja dann, daß er versucht hat die "yip.wav" gesucht zu haben. Ich habe auf der Client Seite den Zusatz "C:\yip.wav" gemacht und die Fehlermeldung des "Server" bezog sich dann auf C:\yip.wav, könnte es sein, dawss er auf dem eigenen C, also Server Seite gesucht hat und nicht die Wav-Datei auf dem Client übernommen hat????????

Nur so ne Idee!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
J Grundsätzliches zu SSL verschlüsselten Verbindungen Netzwerkprogrammierung 2
D Socket-Verbindungen übers Internet Netzwerkprogrammierung 4
I Offene Verbindungen lesen(Ressourcenmonitor lesen) Netzwerkprogrammierung 2
7 Mehrere Verbindungen gleichzeitig in einem Thread mit ApacheHTTP Netzwerkprogrammierung 7
G FTP FTP-Client funktioniert nicht bei Modem-Verbindungen Netzwerkprogrammierung 8
N Java NIO eingehende und ausgehende Verbindungen mit einem Selector Netzwerkprogrammierung 12
F Socket Verbindungen über mehrere Server Netzwerkprogrammierung 4
S RMI Polling oder lange Verbindungen Netzwerkprogrammierung 6
M Socket Leistungsfähigkeit eines xSocketservers, wieviele Verbindungen max? Netzwerkprogrammierung 4
D Aktuelle Anzahl der verfügbaren TCP/IP Verbindungen Netzwerkprogrammierung 6
E TCP-Server soll viele offene Verbindungen verwalten Netzwerkprogrammierung 12
D Was für Verbindungen mit Socket möglich? Netzwerkprogrammierung 2
J Nacheinander Verbindungen eingehen Netzwerkprogrammierung 2
A persistente, multi-threaded Verbindungen Netzwerkprogrammierung 12
S Verbindungen der Browser ermitteln? Netzwerkprogrammierung 9
G Windows-Verbindungen Netzwerkprogrammierung 4
G Proxy und mehrere Verbindungen Netzwerkprogrammierung 4
G Mehrere SSL Verbindungen Netzwerkprogrammierung 2
TRunKX Ein Port mehrere Verbindungen? Netzwerkprogrammierung 7
R Zuviele TCP-Verbindungen Netzwerkprogrammierung 4
U Einen HandlerThread, der mehrere Verbindungen verwaltet? Netzwerkprogrammierung 2
F konfigurierte Netzwerkverbindunge/DFÜ-Verbindungen ermitteln Netzwerkprogrammierung 4
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
N Java socket Programmierung Filme verschicken Netzwerkprogrammierung 20
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
B SocketChannel ByteBuffer Bilder verschicken Netzwerkprogrammierung 17
x46 Socket Files per Socket verschicken Netzwerkprogrammierung 1
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
S Socket Über UDP Objekte verschicken Netzwerkprogrammierung 9
D Socket Datei nur stückweise über Socket verschicken Netzwerkprogrammierung 6
F Fragen zu Netzwerkspiel, ArrayList verschicken Netzwerkprogrammierung 5
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
G Objekte per TCP verschicken + Thread Netzwerkprogrammierung 4
M Socket Verschicken von Objecten außerhalb des Routers Netzwerkprogrammierung 29
G Verschlüsselte Strings über Netzwerk verschicken Netzwerkprogrammierung 19
G TCP Verbindung überprüfen OHNE daten zu verschicken Netzwerkprogrammierung 11
P Massen emails verschicken an Kunden die in Datenbank sind Netzwerkprogrammierung 4
T Daten über GSM verschicken Netzwerkprogrammierung 4
S Knuddels Chat System: Bot / Nachrichten verschicken? Netzwerkprogrammierung 6
O email verschicken Netzwerkprogrammierung 8
8 ByteArray per Netzwerk verschicken Netzwerkprogrammierung 6
B Eigenes Protokoll über Sockets verschicken Netzwerkprogrammierung 4
P Serialialiserte Objekte übers Netzwerk verschicken Netzwerkprogrammierung 9
D Daten per Server- Client nur als byte verschicken? Netzwerkprogrammierung 3
A FileSend - Dateien verschicken Netzwerkprogrammierung 19
B Nachrichten über das Netzwerk verschicken Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben