Messenger mit (My)SQL

  • Allgemein

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von yonda.

    Messenger mit (My)SQL

    Moin moin!

    Ich arbeite im Moment an einem Chat.
    Nun meine Frage:
    Ist es möglich einen Messenger mit VB zu erstellen, der ueber MySQL kommuniziert.
    Ich habe mir das so vorgestellt:
    Der Empfaenger fraegt alle 5 Sekunden die SQL-Datenbank ab.
    Der Sender schreibt mit einem VB-Programm die Nachricht in die Datenbank.
    Wenn der Empfaenger jetzt einen Eintrag findet, der an ihn adresseiert ist (z.B. mit Praefix), uebertraegt er die enthaltene Nachricht an den Benutzer.

    Waere so etwas moeglich, oder habt ihr eine bessere Idee (z.B. PHP/HTML einbeziehen)?

    Battlestr1k3
    Möglich wäre es. Es ist aber bestimmt nicht die beste Methode.
    Besser wäre natürlich die Nachricht direkt an den anderen Benutzer zu schicken.
    Zum Beispiel so: [VB.NET] Simples, funktionierendes Beispiel einer TCP/IP-Verbindung zwischen zwei Rechnern.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Du könntest es schon mit einer Datenbank machen, allerdings nicht mit dem speichern der Nachrichten.
    Dein Programm hat ein LoginSystem, in dem sich jeder einloggt.
    In der Datenbank werden die einzelnen Benutzer eingetragen (Jeder eine eigene ID). Loggt sich ein Benutzer ein, wird in der Datenbank z.B. die IP gespeichert und vielleicht noch der Status auf Online gesetzt oder so.
    In deinem Programm hast du dann eine Liste mit den befreundeten Benutzern. Diese Liste erneuert sich eben alle X Sekunden und ruft beim erneuern den Status der einzelnen Benutzern ab. Ist der Benutzer Online kannst du dem eine Nachricht schicken. Die IP bekommst du dann aus der Datenbank...

    Das wäre ein Beispiel, wie du vorgehen könntest.

    Anmerkung:
    Das Thema gehört eigentlich in den Datenbank- bzw Internet/Netzwerkbereich
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Nunja beim Anmelden/Einloggen in den Messenger wird ja ein Request an ein Script auf deinem Server geschickt der die Benutzerdaten abfragt. Stimmen Username und Passwort überein, so wird die IP des Anfragers in der enstpsrechenden Datenbank gespeichert, zusammen mit der UserID.

    Möchte jetzt Person A mit Person B schreiben und klickt den Nick an, so wird wiederum ein Request an dein Script geschickt mit dem Benutzernamen von Person B oder direkt der ID, das Script sucht sich nun aus der DB die enstprechende IP von Person B raus und teilt diese als Response Person A mit, bzw. dem Programm, dieses kann nun eine Verbindung zu Person B aufbauen, da es ja die IP von ihm hat.
    nochne Frage:
    angenommen meine tabelle sieht so aus:

    Name Passwort IP Online
    test pw "" 1 oder 0

    wie mache ich dass, er an alle IPs in der Datenbank, die bei online eine 1 haben, die nachrichten verschickt?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Battlestr1k3“ ()

    Messenger Letzte Probleme

    Hallo,

    ich denke mir ich nutze dieses Thema bevor ich ein neues anfange!


    Auch ich versuche mich an einem Messenger in VB.NET 2010 Express.

    - Messenger hat alle notwendigen Forms
    - Registrierung & Login sind fertig und funtionieren soweit fehlerfrei.
    - Das Chatten selber funtioniert soweit auch fehlerfrei (TCP)
    - Datenbanken sind auch gesetzt


    Ich nutze zwei sql-Datenbanken im Netz.


    DB1

    REGISTRIERUNG & ANMELDUNG
    ID, BN, PSW, E-mail

    DB2

    Aktuelle IP-ADRESSE
    ID, BN, IP (Online(später))



    Meine 1. Frage ist, wie ich die aktuelle IP, die ich schon gezogen habe, in der Datenbank (DB2) in einer schon bestehenden Zeile
    (wo der Name ist) update? Also ohne noch eine Zeile anzulegen!

    -Der Sinn dahinter soll sein, das ich so die Aktuelle IP des Chatpartners parat habe (In der DB2)
    Beispiel:

    User Test, hat Ip= 80.80.80.02 (Rechner) //Test, IP=80.80.80.006 (DB2) Sind nicht Identisch, daher soll die IP (die Aktuelle) vom Rechner in die Datenbank übertragen werden, und dort überschrieben. Ausnahme wäre wenn noch kein Eintrag vorhanden ist, dann einfach einfügen (Insert) Jeder User soll nur 1 Eintrag also 1 Zeile in der Datenbank haben!


    Meine 2. Frage ist, wie ich die gesamte Spalte Name aus der DB2 auslesen kann und dann in einer Listbox anzeigen kann?

    -Der Sinn dahinter ist einfach, es soll eine Onlineliste darstellen. So kann man seinen Chatpartner anklicken, seine Nachricht schreiben und senden.

    Beim senden(Button) soll der angeklickte Name dann zur suche der IP - Adresse in der DB2 dienen, diese wird bezogen und als Empfängeradresse genutzt.

    evtl. soll hier noch eine weitere Abfrage erscheinen, (Mit der Anmeldung wird der Wert Online auf 1 gesetzt, wenn der Messenger geschlossen wird, dann auf 0) Dann sollen nur die Online-Chatpartner in der Listbox angezeigt werden. Wie würde man diese Abfrage am besten realisieren?

    Meine 3. Frage ist, wie kann ich die schriftfarbe/Font ändern, also das es im Chat auch so versendet wird!?

    BeispielCode

    VB.NET-Quellcode

    1. RichTextBox1.AppendText(Format(Now, "yyyy.mm.dd hh:mm:ss") & " " & lblname.Text & " : " & RichTextBox2.Text & vbCrLf)

    Lediglich der Name soll hervorgehoben werden.

    Ich danke euch im Vorraus für eure Hilfe

    MFG

    Yonda


    PS: Könnte man das Thema in den Bereich Netzwerk verlegen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „yonda“ ()