# Messenger über MySQL sinnvoll?



## Manuh (19. Nov 2009)

Hallo, es geht um die theoretische Überlegung, ob es sinnvoll wäre einen Messenger (bsp: ICQ, MSN) über eine MySQL Datenbank zu betreiben?

Was würdet ihr dazu sagen?

Gruß
Manuh


----------



## tfa (19. Nov 2009)

Was soll denn das bewirken?


----------



## Manuh (19. Nov 2009)

Also  vorweg: Bin Anfänger. Das ganze dient nur zu lernzwecken.

Ich habe die Überlegung das ich ein Programm schreibe, welches sich mit der Datenbank verbindet und jede Sekunde oder wann auch immer prüft ob sich ein neuer Eintrag in der Tabelle befindet, wenn ja dann gibt er sie aus. Genauso verhält es sich mit dem reinschreiben.


----------



## tfa (19. Nov 2009)

Du willst also über ICQ Daten in eine DB schreiben und darüber auslesen. Warum nicht...


----------



## Geeeee (19. Nov 2009)

Finde sowas nur sinnvoll, wenn der Empfänger auch "offline-Nachrichten" bekommen soll. Weil die müssen ja irgendwo liegen. Ein ständiges Pollen nach neuen Nachrichten wäre imho sinnfrei.

Edit: Glaube nicht, dass er ICQ Daten irgendwo hinschieben will, oder? Die Frage war ja eher: Sowas wie dieses Iseekyou


----------



## RaoulDuke (19. Nov 2009)

Eine Datenbank für so etwas zu benutzen halte ich nicht für sehr sinnvoll. Mit ständigen Querys um nach neuen Nachrichten zu sehen macht man sich doch recht schnell die Datenbank dicht, sehr unschöne Sache. Zum Spielen kann man sich sowas natürlich trotzdem mal entwickeln, was Schlimmeres, als das man was davon lernt, wird nicht passieren.

Ich würd mir da an deiner Stelle mal lieber etwas anschauen, das dazu gedacht ist Nachrichten damit durch die Gegend zu schicken. Die diversen Implemetationen des JMS Standards sind da sicher viel praktischer, schau dir z.B. mal Apache ActiveMQ an.


----------



## Manuh (19. Nov 2009)

Danke!

Und nein, es soll nicht über das ICQ Protokoll kommunizieren, sondern ein eigenständiger Messenger sein. Also wäre es eine schlechte Idee für die Überprüfungen neuer Nachrichten andauernd eine Anfrage an die Datenbank zu senden?

edit: Danke! Hatte deine Antwort erst nach meinem Post gelesen =)


----------



## anonym (19. Nov 2009)

Das geht auf zwei Arten: 

Zentral: 
Ein Server kennt alle Clients. Der Client sendet seine Nachricht an den Server, der leitet sie an den/die Empfänger weiter. 

Dezentral: 
Jeder Client kennt alle anderen Clients. Die kommunizieren dann direkt. Das Problem ist, dass man so nur schwer neue User in die Kontaktliste aufnehmen kann. Man bräuchte die IP- Adresse des Clients. Bei "normalen" Computern im Internet ändert die sich auch noch ständig.


----------

