Hi alle,
ich habe hier ein kleines Speicherproblem bei einer Socketverbindung und hoffe hier jemanden mit einer Lösung zu finden.
Hier steht ein Server der jede Menge Daten an verbundene Clients rausschickt und auf Daten einiger Clients wartet. Während einige Clients nur Daten empfangen, sind andere Clients nur am Senden, und einige senden und empfangen.
Hier geht es um einen nur sendenden Client:
Das Problem ist, dass die Socketverbindung alle paar Sekunden abbricht (broken Pipe) weil die vom Server(!) gesendeten Daten wohl einen Speicher beim client(!) zum überlaufen bringen.
Jetzt ist die Frage wie ich verhindern kann, dass die am Client ankommenden Daten den Speicher zu überlaufen bringen.
ich habe hier ein kleines Speicherproblem bei einer Socketverbindung und hoffe hier jemanden mit einer Lösung zu finden.
Hier steht ein Server der jede Menge Daten an verbundene Clients rausschickt und auf Daten einiger Clients wartet. Während einige Clients nur Daten empfangen, sind andere Clients nur am Senden, und einige senden und empfangen.
Hier geht es um einen nur sendenden Client:
Java:
Socket socket = new Socket (IP, PORT);
BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream(), buffer);
out.write(bytearray,0,10);
out.flush();
Jetzt ist die Frage wie ich verhindern kann, dass die am Client ankommenden Daten den Speicher zu überlaufen bringen.
Zuletzt bearbeitet: