Hallo,
ich schreibe gerade an einem Schachspiel und möchte da auch Netzwerkfähigkeit anbieten: Zwei Spieler sollen gegeneinander an verschiedenen Rechnern spielen können.
Also hab' ich als ersten Schritt mal eine Chat-Anwendung geschrieben, die einen ServerSocket anlegt, so dass sich ein Socket damit verbinden kann. Bis dahin: Kein Problem.
Ich kann auch Nachrichten zwischen zwei Anwendungen austauschen. Auch alles bestens.
ABER: Wie geh' ich denn dabei eigentlich am geschicktesten vor? Bislang mache ich es so, dass ich den Chat-Teilnehmern sage: "Schau mal nach, ob eine Nachricht angekommen ist. Nein? Dann schlafe 5s. Ja? Anzeigen. -- Und das mach' jetzt bitte so lange Du nicht beendet bist." -- Kürzer: Ich polle alle 5 Sekunden.
Das kann ja wohl eigentlich nicht im Sinne des Erfinders sein, oder? Das ist doch viel zu "teuer" (im Sinne von Performanz). Gibt es nicht so etwas wie einen "SocketListener", der mir sagt: "Hey Du! -- Willst Du 'ne Nachricht kaufe... ääääh... abrufen? Es ist gerade frisch eine angekommen..." --- also in dem Stil wär's jedenfalls optimal (nun gut: Vielleicht nicht ganz so prosaisch, aber ihr versteht, worauf ich hinaus will, oder?)
Gibt's da irgendwas?
Wie machen das denn ICQ oder MSN? Pollen die auch alle x Sekunden???? Kann ja eigentlich nicht sein...
Danke für die Hilfe/Ideen/Links/...
Philipp
ich schreibe gerade an einem Schachspiel und möchte da auch Netzwerkfähigkeit anbieten: Zwei Spieler sollen gegeneinander an verschiedenen Rechnern spielen können.
Also hab' ich als ersten Schritt mal eine Chat-Anwendung geschrieben, die einen ServerSocket anlegt, so dass sich ein Socket damit verbinden kann. Bis dahin: Kein Problem.
Ich kann auch Nachrichten zwischen zwei Anwendungen austauschen. Auch alles bestens.
ABER: Wie geh' ich denn dabei eigentlich am geschicktesten vor? Bislang mache ich es so, dass ich den Chat-Teilnehmern sage: "Schau mal nach, ob eine Nachricht angekommen ist. Nein? Dann schlafe 5s. Ja? Anzeigen. -- Und das mach' jetzt bitte so lange Du nicht beendet bist." -- Kürzer: Ich polle alle 5 Sekunden.
Das kann ja wohl eigentlich nicht im Sinne des Erfinders sein, oder? Das ist doch viel zu "teuer" (im Sinne von Performanz). Gibt es nicht so etwas wie einen "SocketListener", der mir sagt: "Hey Du! -- Willst Du 'ne Nachricht kaufe... ääääh... abrufen? Es ist gerade frisch eine angekommen..." --- also in dem Stil wär's jedenfalls optimal (nun gut: Vielleicht nicht ganz so prosaisch, aber ihr versteht, worauf ich hinaus will, oder?)
Gibt's da irgendwas?
Wie machen das denn ICQ oder MSN? Pollen die auch alle x Sekunden???? Kann ja eigentlich nicht sein...
Danke für die Hilfe/Ideen/Links/...
Philipp