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?
Eigenen kleinen Messenger wie ICQ programmieren
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
Beispiele findest du aber sicher im CodeArchive oder auch im Showcase auf purearea.net
- Justy
- Beiträge: 131
- Registriert: 10.09.2004 13:31
- Wohnort: Feldbach / Steiermark / Österreich
- Kontaktdaten:
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:
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$
EndProcedureAm Anfang erschuf der Mensch Gott.
Friedrich Nietzsche
Friedrich Nietzsche