Autor Beitrag
DataCool
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: So 03.08.03 01:38 
Hi,
weiß jemand nach welchem Prinzip ICQ/Aim durch die Router durch kommen ?
Wie man selber ein Text zu ICQ schickt was ich, kam ja hier auch einen Tipp dazu.
Aber nach welchem Prinzip arbeitet ICQ ?
Wenn man den Text zum ICQ-Server schickt, gibt es zwei Möglichkeiten :
1. Der Server schickt den Text an den anderen Benutzer weiter(TCP/IP-Connection) in diesem Falle müßte er aber irgentwie durch den Router(falls vorhanden) des Empfängers kommen.
2. Die ICQ-Applikationen fragen in regelmäßigen Abständen(alle 2sek.) beim Server nach, ob nachrichten vorhanden sind, wenn ja werden diese vom Empfänger beim Server abgeholt.
Die zweite Möglichkeit kann ich mir nicht vorstellen, weil das erstens recht inperformant ist, zweitens die Server von Icq bei der Useranzahl total überlastet wäre.
ICQ z.B. soll als Kommunikationsport 5190 benutzen, dann aber auf einen Zufallsport wechseln. Das stimmt das kann man mit netstat -an nachvollziehen.
Die Ports die ICQ dann benutzt sind aber alle im Status listen, d.h. Sie warten auf eine eingehende Verbindung, das wiederum heißt es kann nur Möglichkeit eins sein, aber wie kommen Sie jetzt z.B. durch meinen Router durch, da muss doch ein Trick bei sein !!!
Vor allen Dingen, will man den File-Transfer von ICQ nutzen, muss man jetzt einen festen Port freischalten und das auch im Router.
Irgent jemand wird sich doch schon mit dem Thema beschäftigt haben ,oder ?
Warte auf eure Gedanken !!

_________________
DataCool
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: So 03.08.03 02:34 
Ich glaube, du bringst da was mit den Zuständigkeiten durrcheinander.
Es ist nicht die Aufgabe von ICQ, sich darum zu kümmern, wie die Pakete zm Empfänger kommen. ICQ schickt die Pakete an einen Socket, also an eine IP-Adresse und einen Port. Ob dad Paket dann von einem Programm auf diesem Rechner ausgewertet wird oder ob es von dort aus weitergeschickt wird, ist nicht mehr die Angelegenheit von ICQ.[/b]

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
DataCool Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: So 03.08.03 12:21 
Nein, ich glaube Du hast mein anliegen nicht richtig verstanden.

Icq z.B. schickt eine Nachricht nicht peer to peer von User zu User sondern User 1 schickt die Nachricht zum Icq-Server, dieser ICQ-Server schickt die Nachricht mit einer der oben genannten Methoden weiter an User2.

Ich habe auch einen ICQ ähnlichen Chat mit ein paar Zusatzfunktionen geschrieben, jetzt habe ich nur das Problem , das Leute die einen Router verwenden für meinen Chat explizit Ports in Ihrem Router freigeben müssen, damit ich eine Peer To Peer Socket Verbindung zum Senden des Texts aufbauen kann.

Was mich nur wundert bzw. ich frage mich :
Installiert man sich ICQ, AIM, oder ähnliche ist es ganz egal, ob Du im Firmennetz hinter einer Firewall und zu Hause hinter einen Hardware Router sitzt, ICQ funktioniert sofort.

Warum ?
Die können ja auch nur Socket verbindungen aufbauen, warum werden diese nicht von Router bzw. Firewall geblockt ?

_________________
DataCool
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: So 03.08.03 17:57 
Also meine Firewall kann ICQ- oder Yahoo-Verbindungen blockieren.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Mo 04.08.03 09:15 
schicke deine daten auf port 80 .. und ich denke mal dass es dann auch durch alle fws geht ;)

_________________
hans bist du das ?
DataCool Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: Mo 04.08.03 11:31 
die Ports sind in meine App aber frei einstellbar :roll:

_________________
DataCool
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Mo 04.08.03 12:18 
Hi,

das Problem ist das die meisten Router wohl einen Verbindungsaufbau von innen (LAN) zulassen, von aussen (WAN) aber nur wenn man die entsprechenden Ports geforwarded hat.
crash110
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 05.08.03 00:15 
Eigentlich ist das ganz einfach. Ich habe auch schon ein ähnliches Programm gecodet.. dabei habe ich die TServerSocket und TClientSocket Komponenten benutzt. Der Client kann immer eine Verbindung nach außen herstellen, dabei müssen beim Router keine Ports geforwardet werden. Steht die Verbindung einmal kann auch der Server commands bzw. Chatnachrichten senden.

cu
crash
DataCool Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: Di 05.08.03 08:36 
Soweit war ich auch schon :wink:

Aber was meinst Du wieviele Sockets der Server gleichzeitig offen halten kann ? Ich hab da keinen Erfahrungswert !

Und bei meinen Projekt strebe ich schon ca. 100.000 User an, wenn nur 1/3 online ist, was dann ?

_________________
DataCool