Eigenen kleinen Messenger wie ICQ programmieren

Für allgemeine Fragen zur Programmierung mit PureBasic.
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Eigenen kleinen Messenger wie ICQ programmieren

Beitrag von Gamer »

Also dazu brauche ich auf jeden Fall erstmal grob eine Datenbank auf dem Server wie diese:

- uin
- username
- passwort
- email
- lastconnect/onlinestatus/gerade online ... was auch immer
- aktuelle ip
- ... (sonstiger schnickschnack)

Dann noch eine Buddyliste, aber das ist ja erstmal Nebensache.

So und wie geht es nun weiter?

Der User loggt sich ein, seine aktuelle IP wird gespeichert in der DB...

Soll ich die Daten nun per TCP oder UDP an die jeweilige IP des Empfängers schicken?

UDP ist schneller dafür aber unzuverlässiger oder?

Was ist wenn mehrere User die gleiche IP haben (Firmenproxy)? Kommt das dann bei allen an?
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Ich würd da erstmal etwas kleiner anfangen und ein kleines Server-Client Programm schreiben. Das kann man dann ja noch erweitern. So Sachen wie Passwortschutz und solche Scherze sind ja erstmal auch überflüssig. Wichtig ist erstmal das Grundgerüst. Da ich so etwas aber noch nicht gemacht, kann ich dir Programmiertechnisch keine Tipps geben.
Beispiele findest du aber sicher im CodeArchive oder auch im Showcase auf purearea.net ;)
pogi02
Beiträge: 131
Registriert: 30.10.2004 00:52
Wohnort: Österreich
Kontaktdaten:

Beitrag von pogi02 »

Hallo


Nunja mein ERSTES Projekt mit PB war die Chatkonsole mit User registrierung und Login und Online Liste aber mit Uin-nummer naja des ist was anderes und auserdem lässt es sich auf Datenbanken mit PB nur Local zugreiffen so weit ich weiss
MfG pogi02

- www.apware.net
Aktuelles Projekt:
-
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Beitrag von Gamer »

Ich greife mit PB mit den API-Internetfunktionen auf eine PHP-Script zu was mit die Buddy/Onlineliste ausgibt und in ein Array liest. Das ist weniger das Problem.
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag von Justy »

Hallo!

Funktioniert der Chat schon?
Irgendwie versteh ich nicht so ganz was du willst...

Egal, wenn du ein Server-Client Chat-Programm sehen willst kannt du den Source meines Netzwerktesters ansehen!
Die UserID kann man übrigens so in IP-Adressen umwandeln:

Code: Alles auswählen

Procedure.s GetClientIP(ClientID)
  Structure IPType
    Reserved.w
    Port.w
    StructureUnion
      IPLong.l
      IP.b[4]
    EndStructureUnion
    Zeros.l[2]
  EndStructure
  
  s = SizeOf(IPType)
  
  res = getpeername_(ClientID, @IP.IPType, @s)
  If res = 0
    remotip$ = StrU(IP\IP[0], #Byte)+"."+StrU(IP\IP[1],#Byte)+"."+StrU(IP\IP[2], #Byte)+"."+StrU(IP\IP[3], #Byte)
  Else
    remotip$ = ""
  EndIf
  
  ProcedureReturn remotip$
  
EndProcedure
Am Anfang erschuf der Mensch Gott.
Friedrich Nietzsche
Antworten