Hallo,
ich habe mir über Sockets, Streams etc. (TCP/IP) ein Netzwerk aufgebaut. Über dieses Netzwerk soll ein Experiment laufen, welches ca. 1 Stunde dauert. Ich habe das Programm bei mir auf dem Rechner mehrfach getestet (also Clients und Server auf localhost) - da lief alles reibungslos. Wenn mein Programm allerdings auf verschiedenen Rechnern abgespielt wird (z.B. Netzwerk mit 8 Clientrechnern), dann schmiert mein Programm irgendwann immer ab (also es werden z.B. beim Client irgendwelche Dinge angezeigt, die zu diesem Zeitpunkt gar nicht angezeigt werden sollen oder ein Client hängt sich auf und nix geht mehr). Auffällig ist, dass mein Programm immer zu unregelmäßigen Zeitpunkten ins Stocken gerät, so dass es schwierig ist einen Fehler im Programmcode zu lokalisieren. Mein Programm ist eigentlich auch relativ simpel aufgebaut: Die Clients schicken zu bestimmten Zeiten Nachrichten an den Server und dieser speichert die Daten in eine Datenbank ab. Also rein von der Logik in meinem Programm kann eigentlich nicht viel falsch sein (auf localhost funktioniert ja auch alles).
Was ist denn wahrscheinlicher: Fehler oder schlechte Performance/Programmierstil in meinem Programmcode als Ursache des Übels oder ist es einfach generell schwierig ein Netzwerk mit 8 Clients reibungslos zu koordinieren? Ich habe auch das Gefühl, dass die Wahrscheinlichkeit eines Absturzes eklatant steigt je mehr Clients angebunden sind und je mehr Daten hin-und hergeschickt werden. Habt ihr schon derartige Erfahrungen gemacht? Gibt es irgendwelche Geheimtipps (z.B. zur Verbesserung des Programmcodes) um die Performance der Netzwerkkommunikation zu verbessern?
Bitte um eure Einschätzungen dazu und zahlreiche Rückantworten!
Danke im voraus!
Gruß
Dominik
ich habe mir über Sockets, Streams etc. (TCP/IP) ein Netzwerk aufgebaut. Über dieses Netzwerk soll ein Experiment laufen, welches ca. 1 Stunde dauert. Ich habe das Programm bei mir auf dem Rechner mehrfach getestet (also Clients und Server auf localhost) - da lief alles reibungslos. Wenn mein Programm allerdings auf verschiedenen Rechnern abgespielt wird (z.B. Netzwerk mit 8 Clientrechnern), dann schmiert mein Programm irgendwann immer ab (also es werden z.B. beim Client irgendwelche Dinge angezeigt, die zu diesem Zeitpunkt gar nicht angezeigt werden sollen oder ein Client hängt sich auf und nix geht mehr). Auffällig ist, dass mein Programm immer zu unregelmäßigen Zeitpunkten ins Stocken gerät, so dass es schwierig ist einen Fehler im Programmcode zu lokalisieren. Mein Programm ist eigentlich auch relativ simpel aufgebaut: Die Clients schicken zu bestimmten Zeiten Nachrichten an den Server und dieser speichert die Daten in eine Datenbank ab. Also rein von der Logik in meinem Programm kann eigentlich nicht viel falsch sein (auf localhost funktioniert ja auch alles).
Was ist denn wahrscheinlicher: Fehler oder schlechte Performance/Programmierstil in meinem Programmcode als Ursache des Übels oder ist es einfach generell schwierig ein Netzwerk mit 8 Clients reibungslos zu koordinieren? Ich habe auch das Gefühl, dass die Wahrscheinlichkeit eines Absturzes eklatant steigt je mehr Clients angebunden sind und je mehr Daten hin-und hergeschickt werden. Habt ihr schon derartige Erfahrungen gemacht? Gibt es irgendwelche Geheimtipps (z.B. zur Verbesserung des Programmcodes) um die Performance der Netzwerkkommunikation zu verbessern?
Bitte um eure Einschätzungen dazu und zahlreiche Rückantworten!
Danke im voraus!
Gruß
Dominik