Hallo,
ich habe mal wieder ein Problem mit unserem Programm. Das ganze soll später mal über ein LAN-Netzwerk funktionieren. Um dies zu testen benutzen wir Hamachi. Leider führt folgender Quellcode im Client programm zu einer "Java SocketException: No buffer space available."
Client:
Auf dem Server wird kein Fehler ausgegeben, ABER: Nachdem beim Clientrechner der Fehler auftritt, stürzt das Netzwerk auf meinem Rechner(Server) ab. Das zeigt sich darin, dass andere Programme(Minecraft
), die vorher einwandfrei über Hamachi gelaufen sind, plötzlich bei allen verbundenen Clients abstürzen und auch nicht mehr sich mit dem Server verbinden können, obwohl es sich um andere Clients, als beim Problemprogramm handelt und die Programme auch unterschiedliche Ports benutzen.
Erst nach einem reboot des Server PCs funktioniert wieder alles einwandfrei, bis wieder ein Client den obigen Code ausführt...
Teile des Server Codes:
Sehr oft hintereinander:
Außerdem:
Wenn ich den Client ausführe funktioniert alles ohne Probleme!
Vielen Dank für eure Hilfe schonmal im Voraus!
ich habe mal wieder ein Problem mit unserem Programm. Das ganze soll später mal über ein LAN-Netzwerk funktionieren. Um dies zu testen benutzen wir Hamachi. Leider führt folgender Quellcode im Client programm zu einer "Java SocketException: No buffer space available."
Client:
Java:
server = new Socket(ServerPfad, Integer.parseInt(ServerPort));
Scanner in = new Scanner(server.getInputStream());
PrintWriter out = new PrintWriter(server.getOutputStream(), true);
out.println("giveDamage");
out.println(shootables.Name);
out.println(myWeapon.damage);
Auf dem Server wird kein Fehler ausgegeben, ABER: Nachdem beim Clientrechner der Fehler auftritt, stürzt das Netzwerk auf meinem Rechner(Server) ab. Das zeigt sich darin, dass andere Programme(Minecraft
Erst nach einem reboot des Server PCs funktioniert wieder alles einwandfrei, bis wieder ein Client den obigen Code ausführt...
Teile des Server Codes:
Java:
public static void handleConnection(Socket client) throws IOException{
Scanner in = new Scanner(client.getInputStream());
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
String MessageType = in.nextLine();
String Content = in.nextLine();
System.out.println("Typ:"+MessageType+" Content: "+Content);
//[...]
if(MessageType.equals("giveDamage")) {
String MessName = Content;
String DamageWert = in.nextLine();
int Damage = Integer.parseInt(DamageWert);
for(int i=0;i<KoordsCount;i++) {
if(Koords[i][0].equals(MessName)) {
int newHealth = Integer.parseInt(Koords[i][4]);
newHealth -= Damage;
Koords[i][4] = ""+newHealth;
}
}
}
//[...]
}
Sehr oft hintereinander:
Code:
java.net.SocketException: No buffer space available (maximum connections reache
d?): Cannot bind
Außerdem:
Wenn ich den Client ausführe funktioniert alles ohne Probleme!
Vielen Dank für eure Hilfe schonmal im Voraus!
Zuletzt bearbeitet: