die-informatiker.net Logo   2447 registrierte Benutzer.
Insgesamt 92332 Beiträge.
Suche
• erweiterte Suche
Login
Benutzername:
Passwort:
• Registrieren
Community
3 registrierte Benutzer online: Bernhard Frauendienst, Sigrid.Z, Stockerl

Der Rekord waren 20 angemeldete Benutzer am So 15. Nov 2009, 17.07 Uhr.

Farben: Moderator, Administrator

reversi-server-0.9.2

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.
Foren-Übersicht / Programmier-Praktikum (WS06/07)
Autor Nachricht
MengenLeere
Decorator
Decorator
MengenLeere

Beiträge: 167
Karma: +33

Private Nachricht senden
 

Beitrag Verfasst am: Di 02.01.07, 17:26       Titel: reversi-server-0.9.2 Nach oben

Bei mir triff folgender Fehler auf:

Sobald ein Spiel/Tunier beginnt, hat automatisch einer bereits verloren, weil die Zeit schon abgelaufen ist. Und das scheint irgendwie ganz unabhängig vom gesetzten Timeout zu sein.

Hat jemand ähnliche Fehler?

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 15:00       Titel: Nach oben

Was ist denn die Fehlermeldung im Log rechts unten im Server-Fenster? Wird auf der Konsole irgendwas ausgegeben?

0 Antworten mit Zitat
Tim Langer
Decorator
Decorator
Tim Langer

Beiträge: 168
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 16:29       Titel: Nach oben

Mir ist was anders aufgefallen, hab gerade eine Partie über diesen Server gespielt und am Ende war noch ein Feld frei aber keiner konnte mehr ziehen (also Ende). Ein Spieler hatte es "kapiert", der andere hat auf nen Zug vom anderen gewartet :shock: Leider weiss ich nicht mehr genau ob nich ein Spieler 2 mal am Ende dran war aber das ändert am problem direkt nichts :wink:

0 Antworten mit Zitat
Bernhard Frauendienst
Admin
Admin
Bernhard Frauendienst

Beiträge: 5786
Karma: +239

Private Nachricht senden
E-Mail senden

Beitrag Verfasst am: Mi 03.01.07, 16:50       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:
Mir ist was anders aufgefallen, hab gerade eine Partie über diesen Server gespielt und am Ende war noch ein Feld frei aber keiner konnte mehr ziehen (also Ende). Ein Spieler hatte es "kapiert", der andere hat auf nen Zug vom anderen gewartet :shock: Leider weiss ich nicht mehr genau ob nich ein Spieler 2 mal am Ende dran war aber das ändert am problem direkt nichts :wink:

Das ist aber ein Problem des Spielers, oder sehe ich das falsch?

0 Antworten mit Zitat
s@sh
Implementor
Implementor


Beiträge: 298
Karma: +20

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 17:42       Titel: Re: reversi-server-0.9.2 Nach oben
Philipp_S hat Folgendes geschrieben:

Hat jemand ähnliche Fehler?


ja.

Nachdem ich ausgeben habe, was vom Server empfangen wird scheint es so:

Wenn force nicht aktiviert worden ist, sendet der Server als Timeout automatisch immer 1000 ms.
Wenn force aktiviert ist, stimmt die Zeit, die übertragen wird.

Es sollte doch aber trotzdem immer der Timeout übertragen werden, der in dem Timeout-Feld drinsteht, oder?

Kann das sein?

Danke,
Sascha

0 Antworten mit Zitat
Tim Langer
Decorator
Decorator
Tim Langer

Beiträge: 168
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 17:43       Titel: Nach oben
Bernhard Frauendienst hat Folgendes geschrieben:
Tim Langer hat Folgendes geschrieben:
Mir ist was anders aufgefallen, hab gerade eine Partie über diesen Server gespielt und am Ende war noch ein Feld frei aber keiner konnte mehr ziehen (also Ende). Ein Spieler hatte es "kapiert", der andere hat auf nen Zug vom anderen gewartet :shock: Leider weiss ich nicht mehr genau ob nich ein Spieler 2 mal am Ende dran war aber das ändert am problem direkt nichts :wink:


Das ist aber ein Problem des Spielers, oder sehe ich das falsch?

Glaube nicht, der Ablauf des Spiels / wer dran ist und so wird ja vom Server geregelt, wenn der Server nur einem Spieler mitteilt, dass das Spiel zu Ende ist stimmt was nicht. Es wäre natürlich auch denkbar, dass es am Client liegt, da der Client aber nur auf Serverbefehle wartet wüsste ich nicht woran es beim Client liegen sollte.

0 Antworten mit Zitat
Bernhard Frauendienst
Admin
Admin
Bernhard Frauendienst

Beiträge: 5786
Karma: +239

Private Nachricht senden
E-Mail senden

Beitrag Verfasst am: Mi 03.01.07, 18:37       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:
Glaube nicht, der Ablauf des Spiels / wer dran ist und so wird ja vom Server geregelt, wenn der Server nur einem Spieler mitteilt, dass das Spiel zu Ende ist stimmt was nicht. Es wäre natürlich auch denkbar, dass es am Client liegt, da der Client aber nur auf Serverbefehle wartet wüsste ich nicht woran es beim Client liegen sollte.

Ach so, "wartet auf einen Zug des Gegners" im Sinne von "bekommt kein closeGame geschickt (und auch sonst nichts)"... dann könnte es wohl vielleicht schon am Server liegen, ja.

0 Antworten mit Zitat
Tim Langer
Decorator
Decorator
Tim Langer

Beiträge: 168
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 21:48       Titel: Nach oben
Bernhard Frauendienst hat Folgendes geschrieben:
Tim Langer hat Folgendes geschrieben:
Glaube nicht, der Ablauf des Spiels / wer dran ist und so wird ja vom Server geregelt, wenn der Server nur einem Spieler mitteilt, dass das Spiel zu Ende ist stimmt was nicht. Es wäre natürlich auch denkbar, dass es am Client liegt, da der Client aber nur auf Serverbefehle wartet wüsste ich nicht woran es beim Client liegen sollte.


Ach so, "wartet auf einen Zug des Gegners" im Sinne von "bekommt kein closeGame geschickt (und auch sonst nichts)"... dann könnte es wohl vielleicht schon am Server liegen, ja.

Genau :wink:

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mi 03.01.07, 22:01       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:

der Ablauf des Spiels / wer dran ist und so wird ja vom Server geregelt, wenn der Server nur einem Spieler mitteilt, dass das Spiel zu Ende ist stimmt was nicht. Es wäre natürlich auch denkbar, dass es am Client liegt, da der Client aber nur auf Serverbefehle wartet wüsste ich nicht woran es beim Client liegen sollte.

Von meinem Quellcode her sieht es so aus: Wenn jemals ein closeGame() geschickt wird, geht das immer an alle Spielteilnehmer (so nicht einer vorzeitig einen Proktollfehler begangen hat). Spielende-Kriterium ist am Server immer, dass keiner mehr ziehen kann.

Wenn Du noch mehr Information hast, dann kann ich der Sache noch genauer auf den Grund gehen.

0 Antworten mit Zitat
Jo2
Prototype
Prototype


Beiträge: 69
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Do 04.01.07, 21:48       Titel: Nach oben

Noch was zum force/timeout:

wenn force aktiviert ist, dann beträgt das timeout immer 1000ms, egal was man eingibt. Bitte korrigieren!

Aber immerhin funktioniert der force button...

Außerdem kann man den Server mit einem Client abschießen. Wie, das bleibt unser Geheimnis...

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Fr 05.01.07, 11:29       Titel: Nach oben
Jo2 hat Folgendes geschrieben:
Noch was zum force/timeout:

wenn force aktiviert ist, dann beträgt das timeout immer 1000ms, egal was man eingibt. Bitte korrigieren!

Aber immerhin funktioniert der force button...

Return drücken, dann klappt es (aber erst zur nächsten Runde). Vielleicht kann ich das Feedback da noch verbessern.

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Fr 05.01.07, 11:34       Titel: Nach oben
Jo2 hat Folgendes geschrieben:

Außerdem kann man den Server mit einem Client abschießen. Wie, das bleibt unser Geheimnis...

Der Satz kommt etwas schräg rüber. Verrat's doch einfach, dann haben wir alle etwas davon.

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Fr 05.01.07, 11:39       Titel: Nach oben
rauschma hat Folgendes geschrieben:
Jo2 hat Folgendes geschrieben:
Noch was zum force/timeout:

wenn force aktiviert ist, dann beträgt das timeout immer 1000ms, egal was man eingibt. Bitte korrigieren!

Aber immerhin funktioniert der force button...


Return drücken, dann klappt es (aber erst zur nächsten Runde). Vielleicht kann ich das Feedback da noch verbessern.

OK, das stimmt nicht ganz. Ich setze es korrekt beim Socket, evtl. kann man das nicht mehrmals ändern. Ich kümmere mich um einen Fix.

0 Antworten mit Zitat
Jo2
Prototype
Prototype


Beiträge: 69
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Fr 05.01.07, 13:47       Titel: Nach oben
rauschma hat Folgendes geschrieben:
OK, das stimmt nicht ganz. Ich setze es korrekt beim Socket, evtl. kann man das nicht mehrmals ändern. Ich kümmere mich um einen Fix.

Super, danke :)

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Fr 05.01.07, 14:58       Titel: Nach oben
Jo2 hat Folgendes geschrieben:
rauschma hat Folgendes geschrieben:
OK, das stimmt nicht ganz. Ich setze es korrekt beim Socket, evtl. kann man das nicht mehrmals ändern. Ich kümmere mich um einen Fix.


Super, danke :)

Kannst Du mal direkt mit der aktuellen Version bei Dir testen, ob es funktioniert, wenn Du die Eingabe mit Return bestätigst: Dann müsste in der *nächsten* Runde sowohl korrekt getimeoutet werden, als auch die Server-Info rechts neben dem Brett stimmen. Dann weiss ich Bescheid, ob es sich um Socket- oder Usability-Bugs dreht.

Antwort bitte an mich per E-Mail: Axel.Rauschmayer (a) ifi.lmu.de

0 Antworten mit Zitat
MichælM
Decorator
Decorator


Beiträge: 187
Karma: +71

Private Nachricht senden
 

Beitrag Verfasst am: Sa 06.01.07, 19:08       Titel: Nach oben

Hi, kleiner Verbesserungsvorschlag:
ein .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); oder ähnliches wäre nett wie in http://www.pst.ifi.lmu.de/lehre/WS0607/progprakt/folien/folien06-suche gui.pdf Seite 23.
Ist beim testen nämlich recht nervig....

_________________

while ( ! ( succeed = try() ) );

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: So 07.01.07, 12:48       Titel: Nach oben
AYBABTU hat Folgendes geschrieben:
Hi, kleiner Verbesserungsvorschlag:
[...]

Danke, ist drinnen in Version 0.9.3.

0 Antworten mit Zitat
Tim Langer
Decorator
Decorator
Tim Langer

Beiträge: 168
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mo 08.01.07, 20:34       Titel: Nach oben

Hallo,
mir ist gerade eine Idee für eine Erweiterung des Protokolls gekommen, und zwar ein

Zitat:
public static final String QUIT= "QUIT";


Die Intention dahinter ist wenn ein Spieler während der Wartephase (nach Login) nicht mehr warten will und aufhört. mit einem exit wird nur die clientseite geschlossen, auf dem Server wird der Spieler erhalten.
Fürs Tunier sicher unnötig aber so generell ... :)

edit : man könnte sich auch nochmal anmelden um ein spiel zustand kommen zu lassen aber das ist ja unschön :lol:

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Mo 08.01.07, 21:45       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:
Hallo,
mir ist gerade eine Idee für eine Erweiterung des Protokolls gekommen, und zwar ein
Zitat:
public static final String QUIT= "QUIT";

Die Intention dahinter ist wenn ein Spieler während der Wartephase (nach Login) nicht mehr warten will und aufhört. mit einem exit wird nur die clientseite geschlossen, auf dem Server wird der Spieler erhalten.
Fürs Tunier sicher unnötig aber so generell ... :)

edit : man könnte sich auch nochmal anmelden um ein spiel zustand kommen zu lassen aber das ist ja unschön :lol:

Gute Idee, ja. Das passt in den Ideen-Topf "Protokollerweiterungen für menschliche Spieler", den ich übernächste Woche anpacken möchte. Momentan kann man sich ja seinen Gegner auch nicht heraussuchen.

0 Antworten mit Zitat
MichælM
Decorator
Decorator


Beiträge: 187
Karma: +71

Private Nachricht senden
 

Beitrag Verfasst am: Mo 08.01.07, 23:15       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:
Hallo,
mir ist gerade eine Idee für eine Erweiterung des Protokolls gekommen, und zwar ein
Zitat:
public static final String QUIT= "QUIT";

Die Intention dahinter ist wenn ein Spieler während der Wartephase (nach Login) nicht mehr warten will und aufhört. mit einem exit wird nur die clientseite geschlossen, auf dem Server wird der Spieler erhalten.
Fürs Tunier sicher unnötig aber so generell ... :)

edit : man könnte sich auch nochmal anmelden um ein spiel zustand kommen zu lassen aber das ist ja unschön :lol:

Check ich ned. Wenn jemand während der Loginphase disconnected, hat er es sich doch anscheinend anders überlegt, und will nicht mitspielen.
Demnach liegts doch dann nur am Server das er den disconnect vor der Spielphase nicht gemerkt hat.
Warum also ein neuer Befehl?

Bei uns zumindest gehts auch ganz gut ohne 8)

_________________

while ( ! ( succeed = try() ) );

0 Antworten mit Zitat
Fatih Coskun
Mod.em.
Mod.em.
Fatih Coskun

Beiträge: 2767
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Di 09.01.07, 1:32       Titel: Nach oben

Der offizielle Turnier-Server schmeisst disconnectete Spieler nicht raus. Sie verlieren dann jede weitere Runde, die gespielt wird. Bis sie sich erneut einloggen.

Aber wie gesagt, beim Turnier-Server ist ein QUIT Befehl nicht unbedingt nötig. Und die Protokollerweiterungen für menschliche Spieler werden mit sicherheit ohnehin ähnliche Funktionalität bereitstellen.

_________________

LaTeX

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Di 09.01.07, 13:33       Titel: Nach oben
AYBABTU hat Folgendes geschrieben:
Check ich ned. Wenn jemand während der Loginphase disconnected, hat er es sich doch anscheinend anders überlegt, und will nicht mitspielen.
Demnach liegts doch dann nur am Server das er den disconnect vor der Spielphase nicht gemerkt hat.
Warum also ein neuer Befehl?
Bei uns zumindest gehts auch ganz gut ohne 8)

Hier kann man nur Geschmack walten lassen. Das Bild, das ich für den Turnier-Modus vor Augen habe ist das von Batterien von autorisierten Spielern, die ab und an mal abstürzen und dann wieder neu gestartet werden. Für den Lobby-Modus passen Eure Vorschläge aber sehr gut.

0 Antworten mit Zitat
Tim Langer
Decorator
Decorator
Tim Langer

Beiträge: 168
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Do 11.01.07, 18:03       Titel: Nach oben
rauschma hat Folgendes geschrieben:
Tim Langer hat Folgendes geschrieben:
Hallo,
mir ist gerade eine Idee für eine Erweiterung des Protokolls gekommen, und zwar ein
Zitat:
public static final String QUIT= "QUIT";

Die Intention dahinter ist wenn ein Spieler während der Wartephase (nach Login) nicht mehr warten will und aufhört. mit einem exit wird nur die clientseite geschlossen, auf dem Server wird der Spieler erhalten.
Fürs Tunier sicher unnötig aber so generell ... :)

edit : man könnte sich auch nochmal anmelden um ein spiel zustand kommen zu lassen aber das ist ja unschön :lol:


Gute Idee, ja. Das passt in den Ideen-Topf "Protokollerweiterungen für menschliche Spieler", den ich übernächste Woche anpacken möchte. Momentan kann man sich ja seinen Gegner auch nicht heraussuchen.

Hallo,
nachdem es jetzt ja eine waitingPlayersChanged(String[] playerNames); Methode gibt (von der ich annehme, dass sie etwas in der Art realisieren soll oder sehe ich das komplett falsch ?) fehlt doch noch eine Befehls Konstante (welche den Aufruf der Methode auslösen soll) oder nicht ? :wink:

0 Antworten mit Zitat
rauschma
LMU-Offiziell
LMU-Offiziell


Beiträge: 133
Karma: 0

Private Nachricht senden
 

Beitrag Verfasst am: Do 11.01.07, 18:30       Titel: Nach oben
Tim Langer hat Folgendes geschrieben:
Hallo,
nachdem es jetzt ja eine waitingPlayersChanged(String[] playerNames); Methode gibt (von der ich annehme, dass sie etwas in der Art realisieren soll oder sehe ich das komplett falsch ?) fehlt doch noch eine Befehls Konstante (welche den Aufruf der Methode auslösen soll) oder nicht ? :wink:

Oh ja! Selbiges für getLobbyAction()! Sind aber nach dem üblichen Muster gestrickt. Die Verbesserung ist jetzt online.

0 Antworten mit Zitat
Foren-Übersicht / Programmier-Praktikum (WS06/07)

Alle Zeiten sind GMT + 1 Stunde
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


die-informatiker.net
Das Forum der Informatik an der LMU (Uni München)
Ein Projekt des LMU Alumni Informatik e.V.
News
News Archiv
Sa 20.03.2010

Chidley Group Live im Schabernack

alle Termine
Foren Info
Wichtige Links:
• Algebra I
• Informatik I
• Analysis I
• Informatik III
• Analysis II
• Programmierpraktikum
• Lineare Algebra I
• Analysis II
• Analysis II Übungen
• Bioinformatik-Portal
• Digitale Medien
• Diskrete Strukturen :: Übungsblätter
• Diskrete Strukturen
• Informatik II
• Informatik I



Impressum
© 2007 die-informatiker.net
Powered by phpBB 2.0.23 © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de und die-informatiker.net.