BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Java Mehrere Stream Sockets managen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Mehrere Stream Sockets managen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Antiheld Antiheld ist männlich
Spagetti-Monster (Moderator)


images/avatars/avatar-1810.gif

Dabei seit: 07.08.2001
Beiträge: 755
Herkunft: Duisburg

Mehrere Stream Sockets managen       Zum Anfang der Seite springen

Hallo Leute,

Zur Zeit überlege ich wie ich am besten einen kleinen Server programmieren soll. Es geht, komprimiert ausgedrückt, darum CachedRowSets an den User zu senden. Zuerst dachte ich daran DatagramSockets zu verwenden, aber da die CachedRowSets möglicherweise auch etwas größer ausfallen könnten denke ich das ich mit einer TCP Verbindung besser dran bin. Mir stellt sich nun die Frage wie ich am effizientesten all dieser Verbindungen halte.
Meine bisherige Überlegung geht dahin über einen bestimmten Port-Intervall Threads mit ServerSockets zu erstellen welche die empfangenen Daten empfangen. Gibt es da vielleicht elegantere Methoden für und wie Regel ich das dann am besten von der Client Seite aus? Vielleicht die Timeouts gering setzen und dann im Port iterieren?

Ich weiß das es für solche Sachen auf der Server Seite auch JMS gibt, allerdings habe ich auf meinem v-Server nicht die Kapazitäten für einen AppServer und reine Message Broker wie ActiveMQ machen Probleme mit serialisierten Objekten (also von ActiveMQ weiß ich es)

Vielleicht fällt euch ja was dazu ein oder habt schon Erfahrung damit.

Grüße
Anti

__________________
Of course, like every other man of intelligence and education I do believe in organic evolution. It surprises me that at this late date such questions should be raised.
-Woodrow Wilson, 1922 >>

27.10.2008 09:42 Antiheld ist offline E-Mail an Antiheld senden Beiträge von Antiheld suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Hm, was genau willst du denn machen?
Willst du einfach nur ein paar Socketverbindungen verwalten?
Wie sind deine Anforderungen an den Server, und wie sieht das Protokol aus (falls es eins gibt).

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
27.10.2008 15:48 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Antiheld Antiheld ist männlich
Spagetti-Monster (Moderator)


images/avatars/avatar-1810.gif

Dabei seit: 07.08.2001
Beiträge: 755
Herkunft: Duisburg

Themenstarter Thema begonnen von Antiheld
      Zum Anfang der Seite springen

Hallo phlox,

Ich möchte eine Software entwickeln welche mehrere Datenbank Verbindungen hält und sie dem User in einer von mir entwickelten GUI bereitstellt. Diese GUI existiert auch schon, bis auf das dort die Datenbank noch lokal verwaltet wird. Das ganze soll jetzt durch den Server zentralisiert und verwaltet werden. Der Nutzerkreis ist nicht besonders groß, und wird es wohl auch nicht besonders groß werden da ich es gerne in einem kleinen Kreis behalten würde. Folglich werden es auch nicht so viele Verbindungen werden (ich denk dabei an ungefähr 100). Die Übertragung im ganzen habe ich mir mit einer serialisierten Wrapper Klasse vorgestellt.

Ich habe jetzt auch noch was drüber nachgedacht, von der groben Logik hab ich mir das überlegt:
Ein DatagramSocket bleibt offen um Verbindungsanfragen entgegen zunehmen, die IP wird mit den bisherigen Verbindungen abgeglichen. Ist dem nicht so kommt eine Verwaltungsklasse ins Spiel die mir einen möglichen Port angibt, per DatagramSocket diesen dem Client angibt und in einem Thread ein StreamSocket öffnet welcher dann auch gleich die Instruktionen der angekommenen Wrapper Klasse verarbeitet. Wird die Verbindung kontrolliert geschlossen teilt der Thread dies auch der Port Verwaltungsklasse mit. Für den Fall das die Verbindung nicht kontrolliert geschlossen wird läuft ein Thread in bestimmten Zeitintervallen und prüft ob die Verbindung noch besteht.

Grüße
Anti

__________________
Of course, like every other man of intelligence and education I do believe in organic evolution. It surprises me that at this late date such questions should be raised.
-Woodrow Wilson, 1922 >>

27.10.2008 16:19 Antiheld ist offline E-Mail an Antiheld senden Beiträge von Antiheld suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Klingt für mich nach einem Proxy.
Evtl. ist auch das "Fliegengewicht" Entwurfsmuster hier was.

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
27.10.2008 16:53 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Java Mehrere Stream Sockets managen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH