ANSATZ gesucht: Chat für beliebig viele user programmieren

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

SimLei

Betreff: ANSATZ gesucht: Chat für beliebig viele user programmieren

BeitragSo, Mai 29, 2005 11:47
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ich wollte ein chatroom für ein LAN haben der für beliebig viele user im LAN geeignet ist. er sollte so funktionieren wie in diversen strategie-multiplayern (oldie aber immer noch geil: AoE II expansion) sodass aber auch alle nachrichten stehn bleiben. hätte jemand einen ansatz für mich ihr müsst es nich für mich programmieren ich wills nur begreifen.

thx im voraus
--- SimLei ---

Rob_

BeitragSo, Mai 29, 2005 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schreib besser nichts dazu.

[EDIT]
upss Embarassed hab ich wieder lautgeschrieben? *sorry
echt peinlich Embarassed
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX
  • Zuletzt bearbeitet von Rob_ am So, Mai 29, 2005 11:57, insgesamt einmal bearbeitet

SimLei

BeitragSo, Mai 29, 2005 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hä was soll die antwort???
tut mir ja leid dass ichs noch nich so gut kann MEISTER
--- SimLei ---

Sir Dan

BeitragSo, Mai 29, 2005 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kenn mich mit netzwerk überhaupt nicht aus, aber ich würde an deiner stelle über google tuts suchen, in denen so etwas steht. Oder schau einfach bei robsite.de oder blitzbase.de vorbei, dort wird man auch meistens fündig. edit: und schau mal in der forensuche vorbei, denn dort wirst du auch antworten finden
Ich hoffe ich konnte helfen
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.
  • Zuletzt bearbeitet von Sir Dan am So, Mai 29, 2005 13:22, insgesamt einmal bearbeitet

FluiX

BeitragSo, Mai 29, 2005 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
schua dir mal robs tuts an die sind sehr umfanreich und des letzte kapitel is rund um multiplayer. Ansonsten hilft die onlinehilfe auch. ich würde dir directplay empfeghlen weil: Einfach! und ganz gut!

http://www.robsite.de
http://www.blitzbase.de

Sir Dan

BeitragSo, Mai 29, 2005 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
ich würde dir directplay empfeghlen weil: Einfach! und ganz gut!

Allerdings auch (wie ich gehört habe) sehr langsam, reicht aber für kleinere Projekte
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

joachim_neu

BeitragSo, Mai 29, 2005 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach nen Server aus, an den die Clients die Daten schicken, und der schickts weiter an alle. Und alles, was sie empfangen schreiben sie aufn screen.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

SimLei

BeitragMo, Mai 30, 2005 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
@ joachim: gute idee danke. schätze ich könnte ein type für jede message nehmen ud da from, to, text$ usw. speichern.
@ Sir Dan: auch danke, auf robsite war ein gutes tutorial danke. es wurden alle befehle die man braucht gut erklärt.

-------------> als nochmal danke vielleicht krieg ichs jetz ja hin.
--- SimLei ---

TheShadow

Moderator

BeitragDi, Mai 31, 2005 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ich empfehle ICQ-Chat - da braucht man keinen eigenen server
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Sebastian

BeitragDo, Jun 02, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
ich empfehle ICQ-Chat - da braucht man keinen eigenen server


Wie ist das jetzt zu verstehen ?????

Soll er einen ICQ-Clon schreiben oder soll er ICQ benutzen ????

Also ich hab sowas mal gemacht mit TCP (client u. Server) sowas 'relativ' einfaches ist damit gut zu machen .....
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Jun 06, 2005 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Der einezig Chat, den ich machen könnte, wäre mit TCP pber Internet.

Man könnte das so machen, das jeder der Clienten ein eigenes Chatprogramm bekommt. wenn man die startet, loggen die sich nacheinander beim Server ein, laden ihre Nachrichten hoch, laden die Nachrichten der anderen runter und loggen wieder aus. Dann muss es einen Zeitabstand geben, damit die anderen auch einloggen und wieder ausloggen können.
Der Ansatz ist glaub ich sehr wackelig, aber jetzt so das einzige, womit ich dir vielleicht helfen könnte. Mit zwei Chattern funktioniert das wunderbar, weil man die dann nicht immerwieder ausloggen muss.

Vielleicht gibt es auch Server, bei denen mehr als zwei Spieler gleichzeitig angemeldet sein können.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

FluiX

BeitragDi, Jun 21, 2005 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
s wär jetzt natürlich auch toll wenn mn es schaffen könnte auf den icq server zu zugreifen *g*

Bura.Tino

BeitragDi, Aug 30, 2005 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht ob Dein Problem schon gelöst ist, aber ich sage Dir mal wie ich es gemacht habe.

Du brauchst:
1 Serverprogramm
1 Clientprogramm

(Es ist in etwa die selbe Methode wie von Joachim schon beschrieben.)
Wenn ein Clientprogramm gestartet wird, loggt es sich automatisch beim Server ein. Wenn Du nun etwas schreibst, und auf "Enter" drückst um es zu senden, dann wird das nicht vom Clientprogramm in das Clientfenster geschrieben, sondern zum Serverprogramm gesendet.
Ich habe es so gemacht, daß das Serverprogramm erstmal den Text auf "verbotene" Wörter hin überprüft und gegebenfalls entschärft.
Danach schickt er die Nachricht an alle angeschlossenen Clients weiter.
Die Clients wiederum schauen ob etwas vom Server eingeht. Wenn das der Fall ist, dann wird es angezeigt.

Ich habe es allerdings noch so gemacht, das nicht nur der Text zum Server gesendet, sondern er auch markiert wird. Das heist, das ich dem Server sogenannte Befehle übermittelt habe.

Als Beispiel:

Das wäre das normale, aber nicht sehr effektiv.
BlitzBasic: [AUSKLAPPEN]
Nachricht$=\"Hallo Welt !
SendeNachricht Nachricht$


Das hier ist meine Variante:
BlitzBasic: [AUSKLAPPEN]
Befehl$=\"FAU/\"
Nachricht$=\"Hallo Welt !
SendeNachricht Befehl$+Nachricht$


oder

BlitzBasic: [AUSKLAPPEN]
Befehl$=\"FOU/\"
Nachricht$=\"Hallo Welt !
SendeNachricht Befehl$+Nachricht$


Was hat nun das "Befehl$" zu bedeuten ? Hier die Auflösung:
"FAU/" = For All Users ;Ist für alle bestimmt.
"FOU/" = For One User ;Ist nur für jemand ganz bestimmten. Also "Privatnachricht" oder "anflüstern".

Das Serverprogramm liest also erst die ersten drei Buchstaben (oder wie in meinem Beispiel bis zum "/") und wertet diese aus. Somit weiß er was er damit machen muss.
Man kann natürlich noch viel mehr Befehle übergeben. Aber diese zwei, sollten erstmal als kleines Beispiel genügen.

Ich hatte das damals in Purebasic geschrieben. Die Befehle für Blitzbasic kenne ich leider nicht, da ich mich damit noch nicht auseinandergesetzt habe.
Ich hoffe ich konnte Dir trotzdem einen kleinen Denkanstoß geben !?

LG Bura.Tino
 

IonPainter

BeitragDo, Sep 01, 2005 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
du brauchst ein serverprogramm welches eine dynamische liste aller clients verwaltet.

auf dem server erstellst du einen tcp/udp stream und die clients connecten zum server und werden in der liste gespeichert.

nun prüft der server ob einer dieser clients etwas gesendet hat und verteilt die nachricht an alle anderen in der liste (inklusive des absenders, so hat man eine schöne kontrolle ob die nachricht auch angekommen ist)

da tcp / directplay aber in blitzbasic / 3d / plus so ziemlich fürn arsch ist (nicht nur langsam sondern hält auch das programm z.b. beim verbindungsaufbau eines clients mehrere sekunden an) empfehle ich dir udp.

Sebastian

BeitragDo, Sep 01, 2005 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Und UDP ist auch für'n Arsch weil man keinerlei Kontrolle hat ob die Pakete ankommen .

Was tut man ???

Man sendet für empfangene Pakete eine Bestätigung , gibt jedem Paket eine
Nummer damit man merkt wenn was nicht ankam , ......

Was hat man dann (neu) erfunden ???

Genau ! Tcp !!!

Das ist nämlich nichts anderes wie UDP mit ein paar Absicherungen drin !
(Ack,Checksum,.....)

Und wenn Tcp so scheiße ist warum basieren Protokolle wie HTTP, FTP, SSH , POP , SMTP , (....) darauf ???

Das wollt ich jetzt nur mal so gesagt haben .......
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

IonPainter

BeitragDo, Sep 01, 2005 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
wer lesen kann ist klar im vorteil

Zitat:
da tcp / directplay aber in blitzbasic / 3d / plus so ziemlich fürn arsch ist (nicht nur langsam sondern hält auch das programm z.b. beim verbindungsaufbau eines clients mehrere sekunden an) empfehle ich dir udp.

Sebastian

BeitragDo, Sep 01, 2005 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich gesehen , wollt aber nur mal klarstellen das die Implementation scheiße ist , nicht Tcp (was wohl misverstanden wurde),Weil ich des öfteren auf Leute treffe dei meinen Tcp sei ganz Algemein überflüssiger, lamer Mistkram.

Und für nen Chat reicht meiner Erfahrung nach Tcp eigentlich aus ....
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !

dimaster

BeitragDo, Sep 01, 2005 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich würde jetzt auch mal sagen tcp eignet sich für einen chat besser und warum soll er ein server programm machen man könnte doch auch n php file erstellen welches die daten verarbeitet und in z.B. chat.dat speichert dann schreibt halt jeder da rein und so kann man dann auch noch den gesprächsverlauf ansehen Shocked is net wirklich schwer wenn mans mal kappiert hat und wie ich herausgefunden habe findet man mit der suche sehr viele beiträge darüber... fals ich nicht rechthabe korrigiert mich ...

mfg dimaster

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group