Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   LANMess - Yet another Chat (https://www.delphipraxis.net/8151-lanmess-yet-another-chat.html)

S - tefano 29. Aug 2003 13:38


LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,

endlich ist es soweit. Seit Anfang Dezember letzten Jahres habe ich immer mal wieder zwischendurch an dem Programm gearbeitet.
Der Titel sagt es schon, hier handelt es sich um eine Chat-Software, die zumindest im Lan funktioniert. Internet hab ich nicht ausprobiert.
Unter Umständen ist einigen wenigen das Programm noch in den ersten Versionen von AUQ her bekannt. Da hab ich die Nachrichten an die einzelnen User noch als Textdateien in Ordner mit Schreibfreigabe geschoben, die per Timer überwacht wurden etc.

Naja, das war mir dann zu blöd, ich wollte auf Sockets umsteigen. Bis ich da reingestiegen bin, wars schon fast Februar...

Aber naja, dann will ich euch mal verraten was LANMess alles kann.

Ein - meiner Meinung nach - großer Vorteil gegenüber einigen anderen ChatProgrammen ist, dass die ganze Kommunikation zwischen den Rechnern fast absolut dezentral abläuft (auf das "fast" komme ich noch zu sprechen). Man braucht also keinen Rechner, auf dem ein Server ständig laufen muss, damit gechattet werden kann.

Es gibt einen großen "HauptChat", in dem sich jeder gleichzeitig mit jedem unterhalten kann. Das geht über UDP- Broadcasts (wem ich das in den letzten Wochen alles empfohlen habe...).
In zwei Listboxen kann man immer sehen, wer gerade mit welchem Nick und welcher IP online ist.
Jeder User kann sich bevor er sich online schaltet einen Nickname und eine Farbe aussuchen, die er im Chat haben will. Auf doppelte Nicknames wird nicht geachtet, zum Unterscheiden kann man ja die IPs nehmen.

Der Hauptchat kann in verschiedene Räume aufgeteilt werden. Diese Räume lassen sich aber nicht abschließen oder sowas, nen Moderator gabs mal, hab ich aber wieder rausgenommen weils irgendwie nich gehen wollte.
Zusätzlich zum Hauptchat kann jeder User einen anderen aus der Liste zu einem "2er Chat" einladen.
Dieser funktioniert dann über TCP/IP, wobei der Einladende bzw. der Anfragende immer der Client ist, und der Angefragte automatisch den Server bereitstellt. In diesem Chat können die User dann untereinander auch Dateien austauschen. Daher auch das "fast" von oben, weil beim Zweierchat pro User ein Server entsteht.

Die Einstellungen ermöglichen dann noch folgendes:
Chat- Anfragen können automatisch angenommen werden.
Dateitransfers können automatisch akzeptiert werden.
Es kann eine IgnoreList angelegt werden, deren Gültigkeit je nach Wunsch entweder im Hauptchat, in den Zweierchats oder in beiden eingerichtet werden kann. User zu dieser Liste hinzufügen kann man über ein PopUp- Menü, das mit beiden Listen verbunden ist. Die Liste verwalten (Einträge entfernen...) geht in den Einstellungen.
Außerdem ist es möglich, den Hauptchat, die Zweierchats oder beide mitloggen zu lassen. Die Logs lassen sich über die Einstellungen einsehen.

Ich konnte leider noch nicht alles ausprobieren, hoffe aber mal dass alles so funzt wie es soll.
Also dann, sehts euch an. Ich freue mich auf Euer Feedback.

Bis dann,

S - tefano

Alexander 29. Aug 2003 14:03

Re: LANMess - Yet another Chat
 
schaut ganz gut aus.
Ein paar Sachen hätte ich aber ncoh.
- Wenn ich das Programm mehrmals starten will, dann kommt diese Fehlermeldung:
Code:
---------------------------
Application Error
---------------------------
Exception EIdCouldNotBindSocket in module LANMess.exe at 00071E79.

Could not bind socket. Address and port are already in use.


---------------------------
OK  
---------------------------
- Der Button Einstellungen sieht da irgendwie nicht aus! Wenn du ihn dennoch in der Titelleiste haben willst, dann würde ich dir raten ihn ganz nach rechts neben zu schieben.

Phoenix 29. Aug 2003 14:05

Re: LANMess - Yet another Chat
 
Aalso: Da ich grad meinen Kollegen nicht im Raum habe wollte ich das Tool auf einem Rechner in zwei Instanzen testen.

Logischerweise kann die zweite Instanz nicht laufen, da die erste schon den Port belegt. Das solltest Du aber vielleicht sauber abfangen, denn das Tool schmiert mit 2 Access Violations ab, die einen von der Meldung her eher im dunklen lassen.

Ich check das Ding daheim dann nochmal durch und geb noch ein bisschen Feedback.

S - tefano 29. Aug 2003 14:51

Re: LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

den EinstellButton hab ich jetzt etwas nach Rechts gesetzt und die Height etwas erhöht.
Beim Programmstart checke ich jetzt ob schon eine Instanz läuft. Wenn ja, dann wird "GeTerminated" und die andere Instanz in den Vordergrund geschoben. Für letzteres muss ich aber noch nen anderen weg finden. Ich benutze dazu z.Zt. was aus der JCL, aber das bläht das Programm auf fast 700KB auf.
Und was mir noch aufgefallen ist, wenn die zweite Instanz angeht, meckert meine Firewall weil sich mein Programm irgendwo ins Internet über DNS oder so verbinden will. Das passiert bei der ersten Instanz nicht... hm.

Also, aktualisierte Version gibts oben, freue mich auf weiteres Feedback!

Bis dann,

S - tefano

P.S.: Für die mit nur einem Rechner gibts ein Special Build, wo das Programm auch die eigenen Anmeldenachrichten verarbeitet. So steht man dann auch in den Listen oben - zweimal. Keine Ahnung wie sich das Prog dann verhält, aber dann braucht man keine zwei Instanzen...

overmoon 29. Aug 2003 22:06

Re: LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe auch mal einen Chat programmiert; und weil er sowieso nur im Netzwerk laufen sollte über IPX. :coder:

Er hat verschiedene "Gespräche" die gerade am laufen sind und bei denen man sich einloggen kann. Es gibt kein "Zweiergespräch", aber das Programm war auch nur für eine LAN-Party gedacht, und dafür hat es gereicht.

Hier laufen mehrere Instanzen Problemlos nebeneinander.

Ich muss ehrlich sagen ich finde dein Programm ein bisschen unübersichtlich. Ein paar Dinge würde ich mir wünschen:
- Anzeige aller vorhandenen Räume (wie ?)
- Der Button "Einstellungen" liegt sehr merkwürdig. Kann es sein, das du kein WinXP hast ?
- Beim Zweier-Chat ist ein Memo, dessen Sinn ich nicht gan kapiert habe.
- Bisschen schöneres (bunteres ?) Outfit.
- Dass der User sich nicht um Ports und IP kümmern muss (kann ? vielleicht nur über Einstellungen, um zu verhindern, dass der DAU Fehler macht)

Aber ansonsten sehr nett; ich kann schön mit mir selbst chatten.... :hello:

S - tefano 30. Aug 2003 01:01

Re: LANMess - Yet another Chat
 
Hi,

hm. Aufgrund der "Logistik" könnte es ziemlich kompliziert werden, die Chaträume aufzulisten.
Oh doch, WinXP habe ich, benutze allerdings das alte StandardDesign. Arbeitet der mit den Themes nicht so recht zusammen? Mach doch mal bitte nen Screenshot.
Ich weiß, mit Oberflächen hab ichs nicht so. Da ich diese vorher nicht wirklich durchgeplant habe oder sowas, hatte ich zum Schluss keinen Platz mehr für nen Einstell- Button. Daher kam die Titelleiste und eine entsprechende Komponente wie gerufen...

Das Memo im Zweierchat... da gibst du deine Nachrichten ein :roll:
Abschicken kannst du sie entweder indem du Strg+Enter, Alt+S oder den Sendbutton klickst.
Im Hauptchat gibts statt Strg+Enter einzeln Enter.
Wenn der User alles auf Standard lässt, kann eigentlich nix passieren.
Also bei der IP kann er sowieso nix umstellen, und den Port hab ich verstellbar gemacht falls jemand im Netzwerk bzw. auf ner LAN irgendwelche anderen Programme/Spiele laufen hat die über den Port gehen. Aber du hast Recht, das (und wohl auch die IP- Anzeige) kann man gut in die Einstellungen versetzen...
dann entsteht im Hauptformular auch mehr Platz für wirklichen "Service"...

Bis dann, ich werd morgen weitermachen.

S - tefano

overmoon 3. Sep 2003 10:52

Re: LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hiho!

Ich hab jetzt mal ein paar Screenshots erstellt.

2, die den Einstellungsbutton zeigen und eines für das Memo, das ich mir nicht erklären kann.

:witch:

overmoon

S - tefano 3. Sep 2003 13:00

Re: LANMess - Yet another Chat
 
Hi,

danke erstmal für die Screenshots.
Habe gestern (oder vorgestern) wegen des Designs nen eigenen Thread aufgemacht, wo ich auch noch ein Bisschen Feedback erhalten habe.
Z.Zt. bin ich mit dem "Redesign" beschäftigt, die meisten der gewünschten Features sind bereits umgesetzt.
Hier der andere Thread (werde diesen hier fortsetzen wenn die neue Version fertig ist):
Oberflächendesign

Bis dann,

S - tefano

S - tefano 4. Sep 2003 15:44

Re: LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hossa,

dank fleißiger Mithilfe der anderen DP-Kollegen war ich in der Lage ein (für meine Verhältnisse) umfassendes Redesign durchzuführen und einige neue Features einzubringen,
die da wären:
  • Die eigene IP kann bei den anderen Usern als "Anonym" angezeigt werden
  • Wie gesagt, Redesign
  • Das allgemeine Anzeigen der IPs der anderen User in den Chatfenstern lässt sich ausschalten
  • Combobox zum Raumwechsel. Da bin ich mir nicht sicher obs wirklich läuft...
  • Statusbar, die zu den einzelnen Controls des Hauptformulars kleine Hilfetexte anzeigt
  • Letzteres lässt sich über die Optionen abschalten.
  • Einstellungen Button aus der Titelleiste rausgeholt.
  • Einstellen der Ports jetzt auch über die Optionen, nicht mehr im Hauptformular.
  • Chatfenster schließen sich nach 2 Sekunden nach Verbindungstrennung von selbst.

Leider ist das Programm durch das Redesign jetzt auf über 700k angewachsen.

Also dann, ich freue mich auf euer Feedback! Diesmal müsste das Programm auf mehr Gegenliebe stoßen ;-)

Bis dann,

S - tefano

ArmyMan 21. Jun 2004 17:59

Re: LANMess - Yet another Chat
 
Hallo zusammen.
Ich versuche einen internet chat zu erstellen. Hab einen chat programmiert, aber leider funktioniert er nur über s netzwerk. Kann mir jemand weiter helfen??

Wär nett! :)

Danke

Greez ArmyMan

fkerber 21. Jun 2004 18:05

Re: LANMess - Yet another Chat
 
Hi!
Mach am besten einen neuen Thread auf, sonst isses so durcheinander :wink:

Dann kann dir schneller geholfen werden.


Ciao fkerber

S2B 21. Jun 2004 20:40

Re: LANMess - Yet another Chat
 
Ich hab auch noch was gefunden:
  • Man sollte keine leeren Nachrichten abschicken können
  • Könntest du noch einen Farbendialog einbauen, damit man sich seine eigene Farbe "erstellen" kann?
  • Ich fände eine "/me-Funktion" noch nicht schlecht
Sonst ist das Tool genial! :thuimb:

S - tefano 21. Jun 2004 20:49

Re: LANMess - Yet another Chat
 
Hi,

leider hab ich von den verschiedenen Tags die man in Chatrooms benutzen kann keine Ahnung, müsstest mich daher also aufklären was genau die me-Funktion bewirkt ;-)

Das mit den leeren Nachrichten sollte sich recht schnell beheben lassen, bei der Farbe müsst ich schaun wie ich damals die Farbdaten in die Anmeldenachricht integriert hab. Geht aber wohl auch.

Bis dann,

S - tefano

Tubos 21. Jun 2004 21:38

Re: LANMess - Yet another Chat
 
Zitat:

leider hab ich von den verschiedenen Tags die man in Chatrooms benutzen kann keine Ahnung, müsstest mich daher also aufklären was genau die me-Funktion bewirkt
Wenn jemand mit dem Nick Tubos
/me geht jetzt pennen
eingibt, kann man im Chat lesen:
Tubos geht jetzt pennen

S - tefano 28. Jun 2004 15:39

Re: LANMess - Yet another Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, neue Version online.

Neues:
-alles was S2B vorgeschlagen hat
-UPX gepackt

Einschränkung beim Farbdialog, hier lassen sich keine Farben mischen. Das hängt damit zusammen, wie die Farbinformationen in meinem pseudo-Protokoll übertragen werden, das zu ändern wär zu viel Arbeit.
Daher auch hier nur die Standardfarben, aber mit mehr Übersicht.

Bis dann und viel Spaß,

S - tefano

Tubos 29. Jun 2004 15:15

Re: LANMess - Yet another Chat
 
Ich kann dein Programm leider nicht ausprobieren, da ich im Moment an sowas ähnlichem arbeite und ich leicht zu beeinflussen bin ;)

Wenn ich das mit den Broadcasts richtig verstanden habe...dann werden die Chatnachrichten an jeden Computer in einem bestimmten Adressbereich versendet - z.B. indem man es an 192.168.255.255 sendet.
Heißt das, dort wo dein Programm läuft wird die Nachricht empfangen und dort wo es nicht läuft entsteht einfach unnötiger Traffic?
Bei einem Chat (der ja fast nichts übertragt) ist es zwar komplett egal, aber mich würde das trotzdem interessieren.

alcaeus 29. Jun 2004 15:23

Re: LANMess - Yet another Chat
 
@Tubos: Ja, so ungefähr kannst du dir das mit den Broadcasts vorstellen.
Wenn aber ein anderes Programm den Port verwendet so erhält das Programm die Daten, was u.U. nicht gut ist. Ich kann mich aber auch täuschen was die anderen Programme angeht...

Greetz
alcaeus

S - tefano 29. Jun 2004 16:08

Re: LANMess - Yet another Chat
 
Hi,

jo, das mit dem Traffic stimmt, also beide Aspekte.
Die Ports kann man übrigens in den Einstellungen frei wählen, man kann also selbst wenn es Probleme mit anderen Progs aufdemselben Port gibt (was ich mir aber nicht vorstellen kann, es seidenn es handelt sich um eine andere LANMess Version ;-) ) noch auf einen anderen ausweichen.
Allerdings müssen für den Broadcast-Hauptchat alle auf demselben Port sein, wenns funktionieren soll.

Bis dann,

S - tefano

Tubos 29. Jun 2004 17:21

Re: LANMess - Yet another Chat
 
Ok, ich glaube ich schreibe mein Prog so dass immer einer als Server bestimmt wird - war übrigens auch mein erster Gedanke (bevor ich dein Prog gesehen habe ;) )

S - tefano 29. Jun 2004 17:49

Re: LANMess - Yet another Chat
 
Joah, du stehst dabei halt vor dem Kompromiss, ob du es dem User so einfach wie möglich machen willst, oder ob du spezielle Kenntnisse vorraussetzt. Wobei diese Kenntnisse ja nicht groß sein müssen, aber du hast dann schon einen Mehraufwand wenn erstmal die IP des Servers an jeden geschickt werden muss der mitchatten will. Andererseits erzeugt Broadcasting mehr Traffic und du hast beim Programmieren vielleicht mehr Aufwand.

Bei nem Multiuserchat bleiben dir soweit ich weiß nur diese beiden Alternativen (Broadcasting/zentral mit Serveradresse die sich jeder holen muss), ich hab mich dabei für die erste entschieden.

Aber solange das Prog hinterher funktioniert, ist es ja auch fast egal ;-)

Bis dann,

S - tefano

Tubos 29. Jun 2004 18:00

Re: LANMess - Yet another Chat
 
Zitat:

Joah, du stehst dabei halt vor dem Kompromiss, ob du es dem User so einfach wie möglich machen willst, oder ob du spezielle Kenntnisse vorraussetzt.
Ich versuche es so zu gestalten, dass keinerlei Kentnisse vorrausgesetzt werden.
Es wird nur im LAN funktionieren.
Man startet es, es sucht (das geht nur per Broadcast) nach einem Server in seinem Adressbereich, wenn keiner da ist wird er selbst einer.

Das Problem ist wahrscheinlich die Frage, was passiert wenn 2 genau gleichzeitig das Prog starten,aber darum werde ich mich wohl etwas später kümmern.

Wenn ich überhaupt so weit komme... :zwinker:

S - tefano 29. Jun 2004 18:49

Re: LANMess - Yet another Chat
 
Jo so kannstes auch machen, aber das mit den doppelten Servern kann eigentlich nicht passieren. Naja m, also passieren kanns schon, aber es ist extrem unwahrscheinlich; Traffic im LAN wird ja nicht parallel abgearbeitet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz