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:
Server:
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
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