*.* Dateien versenden im Lan

Status
Nicht offen für weitere Antworten.

najjannaj

Aktives Mitglied
Hallo,
ich möchte einen Server und einen Client schreiben mit dem man Dateien verschicken kann. Für denn Anfang reicht mit vollkommen das der Client dem Server etwas schickt. Aber da kommt auch schon das Problem! Es funktioniert nicht.
Der Client bringt folgenden Fehler:

Fehler :java.net.SocketException: The message is larger than the maximum supported by the underlying transport: Datagram send failed



Client:

Code:
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class Send {
	static String Host = "localhost";
	static int Port = 1234;

	public static void main(String[] args) {
		Send.send("test");
	}
	  public static void send(String data){
		    try{
		      DatagramPacket packet = null;
		      byte  buffer[] = new byte[0xffff];		      
		      InputStream fis = new FileInputStream("D:\\pad.exe");
		      
		      while(true){
		        InetAddress ip = InetAddress.getByName(Host);
		        
		        fis.read(buffer);
		        packet = new DatagramPacket(buffer, buffer.length, ip, Port);
		     
		        DatagramSocket toSocket = new DatagramSocket();
		        toSocket.send(packet);
		        
				toSocket.close();
				
		        Thread.sleep(500);
				
				break;
		      }
		    }
		    catch ( Exception e )
		    {
		      System.out.println("Fehler :" + e);
		    }
		  }
}


Server:
Code:
import java.io.FileOutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Connection {
	static String antw=null;
	
	static public void Listen(){
	   try{	  
			  byte  buffer[] = new byte[0xffff];
			  
		      DatagramPacket packet;
		      DatagramSocket socket = new DatagramSocket(1234);
			  
		      FileOutputStream fos = new FileOutputStream("D:\\test.exe");      
		      
		      while (true)
		      {

		        packet = new DatagramPacket(buffer, buffer.length);
		        socket.receive(packet);

				int			len		= packet.getLength();
							buffer	= packet.getData();
				String		frage	= new String(buffer, 0, len);
				
				fos.write(buffer, 0, len);
				
		        System.out.println("Anfrage von " + packet.getAddress() +
		                            " am Port " + packet.getPort() + " empfangen: "
		                            + frage);
				
		        Thread.sleep(500);
		      }
		    }
		    catch ( Exception e )
		    {
		      System.out.println("Fehler: " + e);
		    }
	}
}

Weiß einer woran das liegt oder wie ich es anders machen kann? hab noch nicht soviel Ahnung daher wäre eine etwas genauere Beschreibung vllt angebracht! Und Ja ich habe die Foren suche schon genutzt, habe es aber leider nicht verstanden!

Mit freundlichen Grüßen
najjannaj
 

najjannaj

Aktives Mitglied
Problem gelöst:

Server:

Code:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server extends Thread{
    public Server (Socket s){
        socket = s;
    }
    public void run (){
    	try{
            System.out.print ("connection accepted [");
            System.out.print (socket.getInetAddress().getHostAddress());
            System.out.print ("]\n");

            OutputStream out = socket.getOutputStream(); 
            FileInputStream in = new FileInputStream("D:\\pad.exe"); 
            byte[] buffer = new byte[1024]; 
            int n; 
            
            while ((n = in.read(buffer)) != -1){
               out.write(buffer, 0, n); 
            }
            socket.close ();
        }
        catch (IOException e){
            System.err.println (e);
        }
    }
    public static void main (String [] args){
        try{
            ServerSocket serverSocket = new ServerSocket (2000);

            while (true){
                Server connection = new Server(serverSocket.accept());
                connection.start();
            }
        }
        catch (IOException e){
            System.err.println (e);
        }
    }
    protected Socket socket;
}


Client:

Code:
import java.io.*;
import java.net.*;

 public class Client{
	 static String server = "localhost";
	 static int port = 2000;
	 static String DstFilePath = "D:\\test.exe";
	  
	 
     public static void main (String [] args){
         try{
             Socket socket = new Socket (server, port);

             InputStream in = socket.getInputStream(); 
             OutputStream out = new FileOutputStream(DstFilePath); 
             byte[] buffer = new byte[1024];
             int n;
             while ((n = in.read(buffer)) != -1){
            	   out.write(buffer, 0, n);
             }
             socket.close ();
         }
         catch (UnknownHostException e){
             System.err.println (e);
         }
         catch (IOException e){
             System.err.println (e);
         }
     }
 }


Hab jetzt nur noch das Problem das ich denn Dateinamen gerne mit übertragen würde nur leider weiß ich nicht wie?!?!?! Hat einer eine Idee? Oder Verbesserungsvorschläge für denn Code?
 

meez

Top Contributor
Wenn die Datei nicht gross ist, kannst du das ganze in ein Objekt packen...Dann kannst du auch den Dateinamen mitschicken...oder du nimmst ein L7 Protokoll, wie z.B. HTTP
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Dateien versenden Netzwerkprogrammierung 16
C Dateien über Sockets versenden? Netzwerkprogrammierung 10
T Dateien wia P2P Connection versenden Netzwerkprogrammierung 2
B Zip Dateien über FTP laden Netzwerkprogrammierung 2
T MP3 Dateien Stream Netzwerkprogrammierung 3
I Kleine Dateien senden Netzwerkprogrammierung 3
J Socket Dateien über Socket auf Server speichern Netzwerkprogrammierung 3
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
D HTTP Checksumme von Dateien abfragen Netzwerkprogrammierung 2
Semox HTTP Webserver: Externe Dateien werden nicht verwendet. Netzwerkprogrammierung 10
Weltall 7 HTTP Dateien an PHP-Skript senden Netzwerkprogrammierung 11
M Dateien über TCP/IP senden Netzwerkprogrammierung 18
R Mehrere Dateien über einen Socket senden Netzwerkprogrammierung 2
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
V Problem beim Senden von Dateien Netzwerkprogrammierung 4
E Upload großer Dateien? Netzwerkprogrammierung 5
D dateien kopieren, am localhost funktionierts, im netz nicht Netzwerkprogrammierung 2
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
M dateien übertragen, probleme mit versch. Strömen? Netzwerkprogrammierung 4
V Dateien Auflisten Netzwerkprogrammierung 3
G Probleme mit Firewall beim empfangen von dateien über socket Netzwerkprogrammierung 6
flashfactor Dateien im Netzwerk kopieren Netzwerkprogrammierung 2
I Dateien schnell/synchron senden Netzwerkprogrammierung 2
S Dateien auf einem HTTP Server Netzwerkprogrammierung 2
O Dateien von einem Server laden Netzwerkprogrammierung 3
W Server schickt Dateien jede 3 Sekonden Netzwerkprogrammierung 3
C Verzeichnisstrukturen & Dateien über Socketverb. übertra Netzwerkprogrammierung 12
A FileSend - Dateien verschicken Netzwerkprogrammierung 19
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
T E-Mail versenden. Netzwerkprogrammierung 8
L Versenden von "Bildschirm" Netzwerkprogrammierung 2
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10
precoc String Array versenden Netzwerkprogrammierung 7
B Viele verschiedene E-Mails an unterschiedliche Empfänger schnell versenden? Netzwerkprogrammierung 8
S Email via Googlemail versenden Netzwerkprogrammierung 17
M Mail über Exchange versenden Netzwerkprogrammierung 13
P Dateiennamen versenden Netzwerkprogrammierung 4
P Mit Java Javascript-Anfrage versenden Netzwerkprogrammierung 4
T Objekte im NIO unblocking mode versenden Netzwerkprogrammierung 11
N String als byte Array über Socket versenden Netzwerkprogrammierung 8
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
M Socket Datei über Socket versenden Netzwerkprogrammierung 5
C An WebDAV einen "MKCOL" Befehl versenden Netzwerkprogrammierung 4
X Versenden von Objekten braucht zu lange Netzwerkprogrammierung 5
N Technologie zum versenden von Objects Netzwerkprogrammierung 5
Kr0e Versenden von Daten übers Netzwerk Netzwerkprogrammierung 30
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
N E-mail versenden Netzwerkprogrammierung 4
B Wie HTTP GET/POST Anfrage versenden? Netzwerkprogrammierung 7
T SWT Image versenden Netzwerkprogrammierung 2
T Einzelne Bits per Socket versenden Netzwerkprogrammierung 16
F Link erzeugen und versenden Netzwerkprogrammierung 4
O Wert versenden? Netzwerkprogrammierung 12
G Datein versenden funktioniert nicht ! Netzwerkprogrammierung 19
S Objekt Felder versenden Netzwerkprogrammierung 5
A Konflikt: Blocking und Non-Blocking bei Objekte versenden Netzwerkprogrammierung 4
O Über Socket Array versenden Netzwerkprogrammierung 5
G Bytes versenden Netzwerkprogrammierung 9
G Datei über ObjectInputStream versenden Netzwerkprogrammierung 8
B Strings versenden | Nur 1 Client Netzwerkprogrammierung 6
P Objekte über DatagramSocket versenden Netzwerkprogrammierung 12
V Kann keine DatagramPackets versenden von einem Jar Archiv Netzwerkprogrammierung 4
J Problem beim versenden von eigenen Objekten über RMI Netzwerkprogrammierung 2
F IP "versenden" Netzwerkprogrammierung 6
H Versenden von Objekt Netzwerkprogrammierung 2
L JavaMail: Versenden von mails funktioniert nicht Netzwerkprogrammierung 7
P Array per Socketverbindung versenden Netzwerkprogrammierung 2
O Sms versenden Netzwerkprogrammierung 5
S E-Mails versenden. Netzwerkprogrammierung 10
D Bits über UDP versenden Netzwerkprogrammierung 3
M generelle Frage zum Versenden Netzwerkprogrammierung 4
T Mit JavaMail API Faxe versenden? Netzwerkprogrammierung 5
K Files versenden Netzwerkprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben