Autor Beitrag
F.Art
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 434



BeitragVerfasst: Do 08.05.03 05:22 
Mit welcher Kombonenten kann man ambesten ein LAN/Internet Chat proggen. Es soll auch über einen Router gehen und sobald die User sich mit einem Namen eingeloggt haben sollen die sofort bei allen Teilnehmern gesehen werde. Hat vieleicht einer einen Source?
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Do 08.05.03 08:15 
Selber proggen macht schlau :wink:. Nein im Ernst: Nimm die Indy-Komponenten, da hast Du eigentlich alles, was Du brauchst. Am besten eine TCP-Verbindung. Den Rest musst Du selbst machen, z.B. das Übertragungsprotokoll. Da hast Du vollkommene Freiheit.

Damit alle User einen neuen sehen, brauchst Du einen Server, wenn der Client sich anmeldet, muss er eben interne Infos, wie den nickname übergeben. Und der Server muss das an die anderen weiterleiten. Wie Du das machst, bleibt Dir überlassen.

Router: Das hängt nicht von dem komponenten ab, das hängt vom Router ab. Wenn der Server hinter einem Router hängt, hast Du ein problem. Dann muss dieser den Port, auf dem Dein Chat läuft weiterreichen auf den Serverrechner. Raus (bei einem Internetrouter natürlich) ist da kein Problem, egal wie Du es machst, dafür ist ja ein Router da.

Hoffe, ich konnte Dir ein paar Denkanstäße geben.

Gute Nacht
ase
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 203

Gentoo, Windows 9X, ME, 2k, NT, XP
Delphi 7 Prof., PHP 5 (Eclipse 3 SDK)
BeitragVerfasst: Do 08.05.03 23:02 
ich hab schonmal genau sowas geschrieben. ich würde dir auch noch nen tip mit auf den weg geben:

schreibe dir einen eigenen TChatClientThread oder sowas. direkter nachfahre von TIdPeerThread. dann hast du im mainform nachher nicht soviel murks. denn schon bei sonem einfachen programm kommt nen haufen an code zusammen.

und wenn du über firewalls gehst, dann solltest du dich mit einem kanal zufrieden zeigen. ist oft besser wegen sicherheit und so. du kannst natürlich folgendes machen:

server: port: 3000
client --> connect --> von port 5439 auf 3000

verbindung da, alles ok. dann:

server --> connect von XXXX auf clientIP:5439

dann sehen die firewalls diese "rückverbindung" als related an und lassen das oft noch dursch.

wenn fragen, dann posten :wink:


ase

_________________
-EN