PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Contest] Chatprogramm



DFYX
05.12.2005, 16:30
So, nachdem unsere lieben Herren Mods mal meinten, dass auch normale User Contests anleiern sollen und nachdem ich grad nix zu tun hab, mach ichs einfach mal. Sollte es irgendjemandem gegen den Strich gehen, möge er sich bitte in die Ecke setzen und heulen :D

Thema:
Aufgabe ist es, ein eigenes Chatprotokoll zu entwerfen und dazu einen Server und einen Client zu schreiben. Ob mit GUI oder ohne ist dabei genau so euch überlassen, wie die Plattform und die Programmiersprache. Selbst wenn ihr so was in Assembler für einen TI Voyage 200 schreibt, kann ich euch nur viel Spaß wünschen. Bedenkt aber, dass ihr vermutlich nur Stimmen von Leuten bekommt, die euer Programm auch testen können.

Regeln:
Der Contest läuft in mehreren Runden ab. Jede Runde dauert 3 Wochen, danach wird eine Woche abgestimmt.
Es muss wirklich ein eigenes Protokoll sein und keine Implementierung eines fremden Protokolls.
Es müssen der Quelltext, Binärdateien (Falls möglich) und eine vollständige Dokumentation des Protokolls abgegeben werden.
Der Gewinner einer Runde legt die Aufgabenstellung für die nächste Runde fest. Aufgaben dürfen nur die Erweiterung des Protokolls betreffen, keine reinen Features im Client.
Quereinstiege sind erlaubt, sofern die Einsendung mindestens die Bedingungen der ersten Runde und der aktuellen Runde erfüllt. Gegebenenfalls können zusätzliche Bedingungen (Wie etwa Gruppenchats) als Pflicht für alle Runden festgelegt werden.
Client und Server müssen nicht in der selben Sprache geschrieben sein.
Ergänzungen 6. Dezember:
Es muss nicht zwangsläufig dauerhaft ein Server laufen. Vielleicht kommt das Konzept ja sogar ohne zentralen Server aus, wer weiß?
Quelltext und evtl. Binärdateien müssen sowohl zum Server als auch zum Client abgegeben werden.
Es dürfen fremde Bibliotheken eingebunden werden, solang diese nicht gegen die restlichen Regeln verstoßen.
Ergänzung 12. Dezember:
Jede gewonnene Runde gibt einen Punkt. Evtl. könnte man am Schluss noch Punkte für einzelne Bereiche vergeben.

Aufgabe Runde 1
Der User soll Nachrichten gezielt (Über Name, ID oder ähnliches) an andere User verschicken können. Falls kein User mit diesem Namen online ist, soll er eine Fehlermeldung erhalten. Eine Registrierung ist nicht notwendig.
Abgabedatum: Verlängert bis zum Montag, 2. Januar 2006 23:59 Uhr
Abstimmung: Dienstag, 3. Januar 2006 00:00 Uhr bis Donnerstag, 5. Januar 2006 23:59 Uhr (Verlängert, um denen, die auf der Nato sind, ne Chance zu geben)

Dingsi
05.12.2005, 16:33
Yeeeeeeeeah. http://www.multimediaxis.de/images/smilies/old/1/party.gif

Lukas
05.12.2005, 16:36
Yay, endlich mal wieder ein Contest.
Jetzt stellt sich bloß die Frage, ob ich das in Python oder Java mache.

Edit:
Darf man zwischen 2 Runden die Programmiersprache wechseln und/oder ein neues Protokoll entwickeln (das die gleichen Funktionen hat wie das vorherige oder zumindest die Anforderungen der vorherigen Runden erfüllt)? Oder zählt ein Wechsel als Quereinstieg?

Crash-Override
05.12.2005, 16:37
Mhm könnte witzig werden. Werd dafür mal Delphi rauskramen, da mein C++ Wissen nicht reicht... ^^. Aber hab ne Frage: Kann man den Server auch in PHP entwickeln und dann mit ner Datenbank gekoppelt auf nem Webserver laufen lassen? Weil sonst hätt ich Probs euch vorzuspielen da wir so nen shice Router haben der keine eingetragenen Weiterleitungsports akzeptiert...

DFYX
05.12.2005, 16:40
Klar is das möglich, falls du das über HTTP als Trägerprotokoll sauber hinbekommst.

Edit:
Grad mal auf Dingsis Bitte hin einen Punkt zu den Regeln hinzugefügt.

Edit2:
@mq: Wechsel oder Auslassen einer Runde zählt als Quereinstieg.

Edit3:
Auf Dingsis Bitte hin den Punkt von Edit 1 wieder entfernt.

Lukas
05.12.2005, 22:12
Da das halbe Progforum in der Woche der Abstimmung nicht wirklich erreichbar (http://nato.rpgmaker.info/phpBB2/index.php) ist, sollte man die Umfrage vielleicht um 'ne halbe Woche verschieben (am besten bei gleichbleibendem Abgabetermin).

codec
05.12.2005, 22:14
Hmm. Ich glaub, ich mach auch mit. Könnte lustig werden, vorallem da man keine GUI braucht (wobei ich mir Perl/Tk eh mal anschauen wollte).

DFYX
05.12.2005, 23:18
mq, is erledigt, ich hab das Datum für die Abstimmung eingetragen.

dead_orc
05.12.2005, 23:25
Da mir gesagt wurde, dass man auch mit PHP Server machen kann, werde ich wohl auch mitmachen. Vorrausgesetzt, die Schule lässt mir genug Zeit und ich habe bis Samstag mehr als nur viele viele Bytes ohne Sinn.

Jesus_666
06.12.2005, 10:45
Ich beobachte den Thread mal - ich bezweifle, daß ich was gebacken kriege, weil ich schon unitechnisch gut ausgelastet bin, aber vielleicht kriege ich was wirklich primitives (keine Zeit, mich in Multithreading einzuarbeiten) gebastelt.

BTW, wär's schlimm, wenn man als Grundvoraussetzung ein PHP mit ncurses-Support voraussetzt?

Lukas
06.12.2005, 14:12
BTW, wär's schlimm, wenn man als Grundvoraussetzung ein PHP mit ncurses-Support voraussetzt?Ich denke, da greift wieder die Grundregel, dass man vorraussetzen kann, was man will, aber dass es wahrscheinlicher ist, dass man viele Stimmen kriegt, wenn viele Leute das Ding ausführen können.

DFYX
06.12.2005, 14:14
Wie ich schon geschrieben hab, kannst du voraussetzen, was du willst. Wegen mir kannst du sogar eine bestimmte Hardwarekonfiguration voraussetzen oder für Konsolen programmieren oder sonst was. Nur brauchst du eben nicht damit rechnen, dass jemand, der dein Programm nicht testen kann, für dich votet.

Edit: Mist, mq war schneller...

Jesus_666
06.12.2005, 14:21
War auch nicht wirklich ernst gemeint. Falls man wirklich PHP nimmt wäre readline schon genug und nicht annähernd so selten wie ncurses. Und PHP ist ja sowieso nicht soo die Traumsprache für sowas.

Crash-Override
06.12.2005, 15:32
Und PHP ist ja sowieso nicht soo die Traumsprache für sowas.

Logo wäre 'super' geeigent. Oder qBasic... mhm... vll mach ich wirklcih mal was Browser-basierendes mit PHP & HTML & Javaskript. Das könnte wirklich jeder testen...

Milchbox
06.12.2005, 15:50
Ich mach auch mit aber nur wenns auch in PHP geht.

DFYX
06.12.2005, 15:56
Natürlich gehts in PHP, warum auch nicht?

Rolus
06.12.2005, 16:04
Ist auf jeden Fall interessant. Aber als Programmierer muss man auch automatisch ein laufendes Server-Programm bereitstellen, oder wie? Also wenn ich das ganze z.B. für Win32 programmieren würde, bräuchte ich einen Windows-Server, auf dem ich mein Programm rund um die Uhr laufen lassen kann?
Naja, muss auch mal sehen, wieviel Zeit mir die Schule in den nächsten Wochen lässt.

freundliche Grüße, Rolus

DFYX
06.12.2005, 16:18
Du muss nich zwangsläufig nen Server laufen lassen, es erhöht nur vermutlich deine Chancen.

Milchbox
06.12.2005, 16:19
Man kann ja auch nur ein peer-to-peer chatprog machen.

DFYX
06.12.2005, 16:24
Zum Beispiel. Ich hab grad mal ein paar Punkte zu den Regeln hinzugefügt, die die bisherigen Fragen abdecken.

Crash-Override
06.12.2005, 18:09
N' Simples IP2IP Chat langt? Das wär ja lahm. Davon gibts massig anleitungen für delphi. Und mit DeplhiX Sockets wäre das n' Kinderspiel... Ich dachte wenigstens an ne Art Nameserver wo man im Prog nen Namen suchen kann und sich die IP etc. vom Server holt...

Ach ja, kann man auch n' Bash-Skript als Client nutzen?

Lukas
06.12.2005, 18:15
Ach ja, kann man auch n' Bash-Skript als Client nutzen?Du kannst alles als Client benutzen, solange du das Protokoll und die Implementierung selbst schreibst.
Und ich schätze, IP2IP reicht nicht - spätestens, wenn jemand in Runde 2 als Regel Registrierung einführt, haut das nicht mehr hin und der betreffende Teilnehmer muss alles neu machen.

Dingsi
06.12.2005, 18:18
N' Simples IP2IP Chat langt? Das wär ja lahm. Davon gibts massig anleitungen für delphi. Und mit DeplhiX Sockets wäre das n' Kinderspiel... Ich dachte wenigstens an ne Art Nameserver wo man im Prog nen Namen suchen kann und sich die IP etc. vom Server holt...Wofür gibt es weitere Runden? Wenn das so einfach ist, dann Prog halt so ein Ding, gewinn die Runde und gib neue Aufgaben, die deinen Erwartungen entsprechen, vor. ;)
Und ich schätze, IP2IP reicht nicht - spätestens, wenn jemand in Runde 2 als Regel Registrierung einführt, haut das nicht mehr hin und der betreffende Teilnehmer muss alles neu machen.Och, P2P über Lobbyserver. Doch, das geht.

Crash-Override
06.12.2005, 18:31
Wofür gibt es weitere Runden? Wenn das so einfach ist, dann Prog halt so ein Ding, gewinn die Runde und gib neue Aufgaben, die deinen Erwartungen entsprechen, vor. ;)

Also ich prog sowas hie rnach: http://www.dcw-group.net/index.php?menue=cod&site=tuts/coding/internetverkehr Bau noch n' bisschen was zusätzlich rein wie Namen (^^), hau n' PHP Server dazu bei dem man sich an und abmeldet und der anderen die IP weitergibt zum connecten und ich hab die Aufgabe?! :eek:

DFYX
06.12.2005, 18:50
Theoretisch ja. Übrigens arbeitet selbst ICQ stellenweise so. Manche ICQ Clients (Wenn ich mich recht erinner z.B. ICQ 2003b) senden Nachrichten direkt und ohne Umweg über den Server, falls der Empfänger das erlaubt. Wär jedenfalls ein interessanter Ansatz. Allerdings könnte es spätestens bei Gruppenchats schwierig werden, das Konzept durchgehend beizubehalten.

Dingsi
06.12.2005, 19:48
Eine Frage an die Allgemeinheit:

Wie steht ihr dazu, Dinge über die Aufgabenstellung hinaus einzubauen? Zum Beispiel "Unsichtbar"-Status, oder im allgemeinen Staten (Away, etc).
Ich denke wir sollten uns darauf einigen nur die Vorgaben je Runde einzubauen (Jetzt zum Beispiel: Nachrichten an User senden und ggf. Fehlermeldung zurückkriegen), alles andere würde mMn. ein wenig unfair sein. Manche Leute halten sich z.B. nur an die Vorgaben, in der Annahme, mehr muss man nicht machen, während andere allen möglichen Schnickschnack einbauen: Registrierung, Offlinenachrichten, Dateiübertragung, usw, usw. Es ist wohl klar wer gewinnt, oder?

Ich bin dafür Protokolltechnische eigene Erweiterungen auszuschließen (Wir sind hier schließlich nicht bei Microsoft ;))
Andere Meinungen?

Lukas
06.12.2005, 19:50
Ich denke, man sollte schon einbauen können, was man will. Wenn man schlau ist, behält man seinen "überflüssigen" Kram eh und veröffentlicht ihn nicht, vielleicht ist das ja Aufgabe der nächsten Runde.

DFYX
06.12.2005, 19:51
Meiner Meinung nach sollten zumindest Kleinigkeiten erlaubt sein, die eine gezielte Erweiterung der aktuellen Aufgabe darstellen und für sich genommen zu wenig für eine eigene Runde sind. Beispielsweise Offlinemessages wenn die Aufgabe Registrierung lautet. Durch eine Registrierung sind Offlinemessages ohne weiteres möglich und benötigen normalerweise nicht mehr als ein paar Zeilen Code.

Dingsi
06.12.2005, 19:51
Ich denke, man sollte schon einbauen können, was man will. Wenn man schlau ist, behält man seinen "überflüssigen" Kram eh und veröffentlicht ihn nicht, vielleicht ist das ja Aufgabe der nächsten Runde.Wenn man ihn veröffentlicht, gewinnt man und kann die Aufgaben selbst bestimmen. gottscha.

DFYX
06.12.2005, 19:57
Nicht zwangsläufig. Du vergisst, dass auch diejenigen, die voten einen gewissen Sinn für Fairness haben und evtl. absichtlich nicht für solche Leute voten, außer wenn sie gleichzeitig auch die aktuelle Aufgabe am besten gelöst haben. Und genau das ist es ja, was es zu bewerten gilt.

Dingsi
06.12.2005, 19:58
Nicht zwangsläufig. Du vergisst, dass auch diejenigen, die voten einen gewissen Sinn für Fairness haben und evtl. absichtlich nicht für solche Leute voten, außer wenn sie gleichzeitig auch die aktuelle Aufgabe am besten gelöst haben. Und genau das ist es ja, was es zu bewerten gilt.Pff. User wollen Features.

Lukas
06.12.2005, 20:02
Pff. User wollen Features.Dann geben wir sie ihnen doch :D

Crash-Override
06.12.2005, 21:03
Ich finde Kleinigkeiten auch ok, ansonsten sollte man nicht "vorarbeiten", aber wer schlau ist designed alles jetzt schon so das es leicht erweiterbar ist ^^

Rolus
06.12.2005, 21:56
Solche zusätzlichen Features sind wirklich etwas unfair. Vor allem werden alle anderen so auch nur zu freiwilligen Erweiterungen gezwungen, wenn sie konkurrenzfähig sein wollen. Ein irrer Teufelskreis, den wir hier doch nun echt nicht brauchen. Außerdem würden etliche Leute, die schlichtweg weniger Zeit haben, aussteigen, da sie nicht mithalten können.
Wer zuviel Zeit hat, soll zusehen, dass er die gestellte Aufgabe eleganter, sicherer und effektiver löst. Das bringt auf Dauer gesehen mehr, finde ich.

freundliche Grüße, Rolus

mr_byte
07.12.2005, 17:16
Vielleicht ne dumme Frage, aber was soll das genau für ein Chatprogramm sein? Soll man über LAN chatten können oder übers Internet?

Milchbox
07.12.2005, 17:22
Ach jetzt werden durch dumme Fragen schon die Posts erhöht :rolleyes:
Ich denke mal es soll übers Internet sein weil das mehr leute bewerten können.
Wer hat schon 2 PC's :hehe:

Dingsi
07.12.2005, 17:34
Ach jetzt werden durch dumme Fragen schon die Posts erhöht :rolleyes:
Ich denke mal es soll übers Internet sein weil das mehr leute bewerten können.
Wer hat schon 2 PC's :hehe:codec hat 5 (okay, ich hab auch 4 vier zum testen hier, aber egal)

BTW: Wo ist der Unterschied, ob eine Verbindung nun im LAN besteht oder übers Internet? (Ich bezweifle irgendwie, dass jemand in sein Programm eine IP-Range-Beschränkung auf 192.168.* einbaut :D)

Crash-Override
07.12.2005, 17:38
Ach jetzt werden durch dumme Fragen schon die Posts erhöht :rolleyes:
Ich denke mal es soll übers Internet sein weil das mehr leute bewerten können.
Wer hat schon 2 PC's :hehe:

Meienr, Mein Laptop (über WLan), PC von Sis und der von meinem Paps. Also ich hab 2 in der Familie (hier im Haus): 4

==
Aber es amcht n' Unterschied ob Lan oder Internet. Denn wenn man an nem Router hängt muss man das mit den IPs gut durchdenken, sonst bekommt z.B. mein Vater die Nachrichten die an mich gehen sollten ^^

dead_orc
07.12.2005, 17:40
BTW: Wo ist der Unterschied, ob eine Verbindung nun im LAN besteht oder übers Internet? (Ich bezweifle irgendwie, dass jemand in sein Programm eine IP-Range-Beschränkung auf 192.168.* einbaut :D)
Wenn man nicht manuell die IP eingibt, sondern das LAN nach Servern scannt, is praktisch ne Beschränkung drin. Wäre zwar unwahrscheinlich, dass sich jemand die Mühe macht, aber es wäre möglich.
Außerdem war die Frage glaube ich einfach nur zum Verständnis gedacht, weshalb auch kein Flame nötig gewesen wäre, der mindestens genau so dumm ist (@Milchbox)


Wer hat schon 2 PC's
Ich

Dingsi
07.12.2005, 17:46
Aber es amcht n' Unterschied ob Lan oder Internet. Denn wenn man an nem Router hängt muss man das mit den IPs gut durchdenken, sonst bekommt z.B. mein Vater die Nachrichten die an mich gehen sollten ^^Okay, bei p2p oder Clients die Sitzungen Hosten stimmt das, jaa. Bei dem Standard Server-Client Modell machts keinen Unterschied.

Milchbox
07.12.2005, 18:00
Nur so angemerkt das ich auch 4 PC's hab.:rolleyes:
Aber egal. Ich bin schon dran.

DFYX
07.12.2005, 18:54
So, jetzt sag ich als offizieller Urheber dieses Contests mal was dazu... :rolleyes:

1. Hört mit dem Zoff auf. Ich will keinen Flamewar in meinem Contestthread
2. Ob LAN oder Internet macht absolut keinen Unterschied. IP-Routing wird in aller Regel vom Router bzw. Gateway übernommen. Das Programm selber hat damit nicht viel zu tun, falls es nicht grade die IPs als Client-ID verwendet, was bei dynamischen IPs aber eh keinen Sinn macht.
3. Aus 2. und der Tatsache, dass das Serverprogramm mit abgegeben werden muss, folgt, dass sich das System problemlos in jedem beliebigen (TCP/IP basierten) Netzwerk betreiben lässt, egal ob Internet, LAN oder sogar nur Localhost.
4. Ich hab 2 Rechner in Betrieb und 2 wirklich alte eingemottet.

Crash-Override
07.12.2005, 19:20
oder sogar nur Localhost.

Mein Bash-Skript-Client-zum-Testen konnte maximal 1x ausgeführt werden pro Rechner, da sich sonst die Vars überlappen, also ganz local konnte man nicht unbedingt arbeiten.... ^^

Naja. Ach ja: Ist es ok wenn ich zufallstrings zum anschreiben nehme (z.B. "kJdge7TWytbs") oder muss man da so ne Namens-Suche einbauen (Weil das mit dem Namen wollte ich nicht auf dem server ablegen, der kennt bei mir den User nur Anhand des Strings)?

DFYX
07.12.2005, 19:28
Wie genau du das machst, bleibt dir überlassen. Die Aufgabe sieht nur vor, dass der Absender eine eindeutige Empfängeradresse angibt.

P.S.: Kleiner Zwischenstand meinerseits. Der Server für Runde 1 ist komplett fertig, die Dokumentation auch. Fehlt nur noch der Client.

Edit:
Damit wären wir übrigens wieder beim Thema Kleinigkeiten dazubauen. Laut Aufgabenstellung sollen im Protokoll die Befehle für Nachrichten und eine Fehlermeldung eingebaut sein. Um das ganze Sinnvoll laufen zu lassen, empfiehlt es sich aber beispielsweise, Befehle für das Festlegen des Nicknamens oder fürs Trennen der Verbindung einzubauen. Außerdem kommt man wohl kaum um weitere Fehlermeldungen (In meinem Fall momentan insgesamt 7) herum, wenn man den Client nicht blind raten lassen will, warum was nicht geklappt hat.

Crash-Override
07.12.2005, 19:41
Die Aufgabe sieht nur vor, dass der Absender eine eindeutige Empfängeradresse angibt.

Aber nur begrenzt eindeutig, oder? Weil wenn sich einer 10 mal einloggt bekommt er ja 10 Nummern zugeteilt und die behält er bei mir nur bis er sich auslogt. Habs nämlich so geplant das wenn mans ich später mal registriert, dann bekommt man ne dauerhafte Nummer und die leitet sozusagen weiter (also die jetzige Nummer ist wie ne dynamische IP und die spätere Nummer wird der Domain der draufzeigt). Das größte Problem bei mir ist eigentlich immer das Timout hinzubekommen weil das Teil auf PHP basiert und Cronjobs find ich mies.

Also bei mir geht schon fast alles, bis auf das erkennen wer überhaupt on ist, um die Fehlermeldung zu generieren. Da klapps wegen genannter Timouts noch net so ganz so gut und ich muss noch dafür sorgen das der Server Nachrichten die der Client noch net abgeholt hat für ewig behält (in der Norm werden sie beim abholen gelöscht und beim ein und ausloggen [beim einloggen, falls der vorgänger abgestürzt ist und deshalb net richtig ausgelogt wurde]) obwohl der Client-Rechner vll. längst abgeschmiert ist...

DFYX
07.12.2005, 19:44
Ich hab momentan ein System wie das IRC. Intern wird mit Zahlen als IDs gearbeitet, die aber nach außen hin nicht sichtbar sind. Wenn man sich einloggt, gibt man als erstes einen Nicknamen an, der dann für die anderen als ID gilt. Ich denk, was anderes macht kaum Sinn, weil du ja sonst immer die aktuelle ID von demjenigen wissen müsstest, den du grad anschreiben willst.

Crash-Override
07.12.2005, 20:59
Ok, hab Server Dateien gefixed und in den Client ein Tool zum finden der Nummer beim Eingebend es Namens statt der Nummer eingebaut. Also sowas wie /me und /nick /away und so dürfen jetzt rein?! Und Fehlermeldungen ist ne gute Idee, aber ich glaub ich muss erst aml dafür Sorgen das der Server sicherer wird.... weil man im Source ja leicht die Aufrufe nachlesen kann...

DFYX
07.12.2005, 21:19
Also /away wär wohl etwas blöd, weil das schon unter Statusänderung fällt. Ich vertrau einfach eurem einigermaßen gesunden Menschenverstand, dass ihr euch vorher überlegt, was zur Aufgabe passt und was nicht. Ich denke, grade in den ersten Runden könnte es etwas schwierig werden, nicht zu viel zu machen, aber versucht es einfach.

Skorp
07.12.2005, 22:21
Da dies ja hier ein Contest im Programmierforum ist (!! Wer hätte das gedacht?) würde ich vorschlagn, am Ende des Contestes den Quelltext für die Lernenden (wie mir^^) bereitzustellen. Sowas wurde ja bereits mal disktuiert wenn ich mcih recht erinnere....
Nur´n Vorschlag^^....

Lukas
07.12.2005, 22:27
Die Sourcen werden wohl auch schon während des Contests veröffentlicht. Schließlich ist das 'ne Regel.

DFYX
07.12.2005, 22:38
Es müssen der Quelltext, Binärdateien (Falls möglich) und eine vollständige Dokumentation des Protokolls abgegeben werden.
Da stehts

Jesus_666
08.12.2005, 17:51
Ich hab' angefangen, was zu bauen... Weiß nicht, ob's bis zum Abgabetermin fertig wird. Bis jetzt habe ich nur das Format für die Nachrichten in EBNF aufgeschrieben (http://jesus_666.fnord.name/Protokoll.ebnf)* und in Java eine Klasse implementiert, die Nachrichten in das Format und zurück bastelt... Donnerstags habe ich immer viel Zeit.
Ja, mein Protokoll unterscheidet nicht zwischen Einzel- und Multiuserchats.

* Achtung, Win-User: Auch wenn die Endung nicht .txt ist, das ist eine Textdatei. Achtung, alle: Das Teil ist mit UTF-8 encodet; teilt das eurem Browser mit, damit er es richtig anzeigt.

Dingsi
08.12.2005, 20:11
Zwei Fragen:
Bei diesem Contest geht es ja doch eigentlich ums Protokoll (oder?). Aber auch die Programme die das Protokoll implementieren sind nicht so ganz unwichtig an der Bewertung der User. Deshalb würde ich fragen, ob bei der Umfrage später einfach der Gesamteindruck, Usability, Design, Code, das Protokoll und sonst noch was zusammen bewertet werden soll, nur das Protokoll, oder ob man mehrere Umfragen (z.B. einmal "Protokoll" und einmal "Programm" oder "Implementation" von mir aus) macht?

Zweitens: Zählt es als Quereinstieg, wenn man die Struktur (und vllt. auch die Sprache) seines Clients/seines Servers ändert, das Protokoll aber beibehält? Ich weiß nämlich, dass mein Protokoll eine riesige, klare Schwäche hat, nehme diese aber in Kauf, solang ich sie nicht zwingend ausbessern muss. Das ausbessern erfordert aber leider mehr oder weniger zwingend einen Wechsel der Programmiersprache (zumindest für den Client).

Crash-Override
08.12.2005, 20:26
Zwei Fragen:
Bei diesem Contest geht es ja doch eigentlich ums Protokoll (oder?). Aber auch die Programme die das Protokoll implementieren sind nicht so ganz unwichtig an der Bewertung der User. Deshalb würde ich fragen, ob bei der Umfrage später einfach der Gesamteindruck, Usability, Design, Code, das Protokoll und sonst noch was zusammen bewertet werden soll, nur das Protokoll, oder ob man mehrere Umfragen (z.B. einmal "Protokoll" und einmal "Programm" oder "Implementation" von mir aus) macht?


Mhm also ichd enke mal nicht das der Client sooo stark bewertet wird wie das was dahinter steckt, weil es geht ja ums Programmieren nicht so sehr ums designen. Und wenn amn n' Konsolen-prog schreiben würde würde das ja eh mies aussehen...


Zweitens: Zählt es als Quereinstieg, wenn man die Struktur (und vllt. auch die Sprache) seines Clients/seines Servers ändert, das Protokoll aber beibehält? Ich weiß nämlich, dass mein Protokoll eine riesige, klare Schwäche hat, nehme diese aber in Kauf, solang ich sie nicht zwingend ausbessern muss. Das ausbessern erfordert aber leider mehr oder weniger zwingend einen Wechsel der Programmiersprache (zumindest für den Client).

Denke schon, aber was hats denn für ne Schwäche? Sicherheit oder kann es zu abstürzen kommen etc?

DFYX
08.12.2005, 20:40
Zwei Fragen:
Bei diesem Contest geht es ja doch eigentlich ums Protokoll (oder?). Aber auch die Programme die das Protokoll implementieren sind nicht so ganz unwichtig an der Bewertung der User. Deshalb würde ich fragen, ob bei der Umfrage später einfach der Gesamteindruck, Usability, Design, Code, das Protokoll und sonst noch was zusammen bewertet werden soll, nur das Protokoll, oder ob man mehrere Umfragen (z.B. einmal "Protokoll" und einmal "Programm" oder "Implementation" von mir aus) macht?
Nur unnötiger Aufwand. So was könnte man höchstens mal nach jeder 5. Runde (Falls es denn so viele werden) machen.


Zweitens: Zählt es als Quereinstieg, wenn man die Struktur (und vllt. auch die Sprache) seines Clients/seines Servers ändert, das Protokoll aber beibehält? Ich weiß nämlich, dass mein Protokoll eine riesige, klare Schwäche hat, nehme diese aber in Kauf, solang ich sie nicht zwingend ausbessern muss. Das ausbessern erfordert aber leider mehr oder weniger zwingend einen Wechsel der Programmiersprache (zumindest für den Client).
Wenn das Problem absehbar ist, dann machs doch gleich richtig. Ansonsten kann ich nur bei dem bleiben, was ich schon zu mq gesagt hab. Ein Recode ist und bleibt ein Quereinstieg.

dadie
10.12.2005, 14:24
Nur so , geht es um ein eigenes Protokol oder um einen eigenen Chat?

Habe das irgentwie noch nett kappiert ^^,

achja und was , was nur randweisse was hiermit zu tun hat :

ist die Winsock lib ne Windows lib oder ist die auch auf Unix systeme übertragbar?

Lukas
10.12.2005, 14:25
Nur so , geht es um ein eigenes Protokol oder um einen eigenen Chat?Es ist schon schwierig, einen Post zu lesen, nicht wahr?
ist die Winsock lib ne Windows lib oder ist die auch auf Unix systeme übertragbar?
Die heißt Winsock, weil sie keine Windows-Library ist. Natürlich.

dadie
10.12.2005, 14:47
Es ist schon schwierig, einen Post zu lesen, nicht wahr?



Ja, mein Protokoll unterscheidet nicht zwischen Einzel- und Multiuserchats.


Aus diesem satz schliess ich ein Protokol



2. Ob LAN oder Internet macht absolut keinen Unterschied. IP-Routing wird in aller Regel vom Router bzw. Gateway übernommen. Das Programm selber hat damit nicht viel zu tun, falls es nicht grade die IPs als Client-ID verwendet, was bei dynamischen IPs aber eh keinen Sinn macht.
3. Aus 2. und der Tatsache, dass das Serverprogramm mit abgegeben werden muss, folgt, dass sich das System problemlos in jedem beliebigen (TCP/IP basierten) Netzwerk betreiben lässt, egal ob Internet, LAN oder sogar nur Localhost.



Sagt aber wieder man kann TCP/IP auch benutzen was meines wissen ein Protokol ist -.-

es tut mir leid dad ich kein Atomphysiker bin -.-
Am bessten ich setze mir gleich den schuss weil ich es gewagt habe zu fragen.

Schonmal was davon gehört :
Wer Dumme fragen stellt bleibt 5 minuten dumm
Wer sie nicht stellt immer.




Die heißt Winsock, weil sie keine Windows-Library ist. Natürlich.

Es tut mir auch hier auserordentlich leid.

Du hast neturlich recht ÜBERAL wo WIN dransteht ist auch WIN drin.Ich glaube ich regestriere gleich meinen WINDOW manager von meinem Linux bei MS.

-.- sry aber wir können nicht alle toll und schlau sein wie du.
Und wenn du was gagegen hast , dann würde ich was gegen tun und der welt dein wissen ofen baren ohne dabei so herablassend zu wirken.

Lukas
10.12.2005, 14:57
Hier stand mal ein etwas längerer Re-Flame, aber der war stellenweise doch zu heftig, darum hab ich den rausgenommen. sry.

Ich war da oben gerade ein bisschen genervt, und die Fragen, die du da gestellt hast, hättest du mit lesen des Eingangsposts und kurz googlen auch beantwortet kriegen können, daher hab ich 'n bisschen viel Sarkasmus in meinen Post eingebaut. War vielleicht etwas überzogen, aber wir müssen deshalb nicht 'nen Flamewar anfangen.

dead_orc
10.12.2005, 14:59
Aufgabe ist es, ein eigenes Chatprotokoll zu entwerfen und dazu einen Server und einen Client zu schreiben.
Was heißt das? Man soll ein Protokoll und einen Client (und evtl. Server falls erforderlich) dazu schreiben.


es tut mir leid dad ich kein Atomphysiker bin -.-
Ich denke, hier ist niemand Atomphysiker. Worauf bezog sich das bitte?

[EDIT]
War ja klar, dass mq mir zuvorkommt :/

DFYX
10.12.2005, 14:59
Verdammt, ich wills nicht NOCHMAL sagen müssen... Keine Flamewars in meinem Contestthread :rolleyes:



Nur so , geht es um ein eigenes Protokol oder um einen eigenen Chat?

Es ist schon schwierig, einen Post zu lesen, nicht wahr?
Ich kann mq nur zustimmen. Das ist alles im ersten Post AUSFÜHRLICH erklärt. Wer das nicht versteht, braucht echt professionelle Hilfe. Aber nachdem ich ja nicht so bin, such ich dir alle relevanten Stellen nochmal raus.

Aufgabe ist es, ein eigenes Chatprotokoll zu entwerfen und dazu einen Server und einen Client zu schreiben.
Es muss wirklich ein eigenes Protokoll sein und keine Implementierung eines fremden Protokolls.
Es müssen der Quelltext, Binärdateien (Falls möglich) und eine vollständige Dokumentation des Protokolls abgegeben werden.Noch Fragen? Hoffentlich nicht.


ist die Winsock lib ne Windows lib oder ist die auch auf Unix systeme übertragbar?Danke für die vielen Off-Topic Inhalte. Wie wärs mit http://www.google.de/search?hl=de&q=winsock&meta= oder http://de.wikipedia.org/wiki/Winsock

DFYX
12.12.2005, 20:56
Hab ne Kleinigkeit hinzugefügt, nachdem das etwas schwammig formuliert war
Jede gewonnene Runde gibt einen Punkt. Evtl. könnte man am Schluss noch Punkte für einzelne Bereiche vergeben.

Dingsi
12.12.2005, 21:06
Du solltest dann auch noch hinzufügen, dass man nach einem Quereinstieg wieder bei 0 Punkten anfangen muss.

Nicht, dass ich das unterstützen würde, aber wenn dus so willst sollte es wähnt werden.

nero14
21.12.2005, 20:13
@TI voyage 200:
da ist ein fertiges im handbuch

DFYX
22.12.2005, 01:00
So genau hab ich da noch gar nich reingeschaut, aber danke für den Tip

DFYX
26.12.2005, 22:40
Ich möchte dran erinnern, dass in 82 Minuten Annahmeschluss ist. Bisher ist noch keine einzige Einsendung bei mir angekommen. Bitte schickt eure Programme per Mail an dfyx [at] lycos [dot] de, per PN an mich oder ladet sie hoch und postet den Link hier im Thread.

DFYX
27.12.2005, 00:17
Yeah! Triplepost! Aber unsere Mods sind ja eh beide für ne Woche ohne Internet, da kann ich mir das erlauben.

Nachdem noch keiner abgegeben hat und ich damit der klare Sieger wäre, verlängere ich den Contest um genau eine Woche.

Jesus_666
27.12.2005, 01:00
*hüstel* Heute bin ich noch da...

Ich kriege definitiv nichts eingetragen, sorry.

Jesus_666
27.12.2005, 08:49
*hüstel* Heute bin ich noch da...

Ich kriege definitiv nichts eingetragen, sorry.

Skorp
08.02.2006, 10:24
O.o
Und jetzt?
Hätte das Zeug gern mal gesehen...

DFYX
08.02.2006, 13:50
Ich kann meins heut mittag schnell hochladen, kein Problem.

o_O
09.02.2006, 15:07
=) und wo bleibst nun ? Würde mich auch mal interessiern.

DFYX
09.02.2006, 20:00
Sry, muss hier grad viel für Radio Nightlife machen, unter anderem nen neuen Server organisieren. Ich versprech euch aber, dass es auf jeden Fall mal ein paar Tage lang nen Testlauf gibt. Entweder auf dem neuen Server oder bei mir lokal.