Über welches Protokol kommuniziert ICQ?
-
Das Problem ist,
ich will eine Server/Client Archtektur entwickeln.. so brauch ich die möglichkeit das die Clientanwendung durch diveres subnetze, lans , firewall eine verbindung zum server aufbauen kann.. so wie bspw. ICQ es kann.
Welches Protokol verwendet ICQ? Die Firewall muss natürlich den nötigen Port offen haben das ist mir klar.
Grüße
-
Genau das: http://de.wikipedia.org/wiki/OSCAR_(Protokoll)
Hier die Doku: http://dev.aol.com/aim/oscar/
Was willst Du schreiben? Villeicht gibts da was besseres...Ivo
-
InetCommunicator schrieb:
so brauch ich die möglichkeit das die Clientanwendung durch diveres subnetze, lans , firewall eine verbindung zum server aufbauen kann.. so wie bspw. ICQ es kann.
Das ist einfach: Du machst einen Connect auf die Server-IP-Adresse. Das funktioniert durch diverse Subnetze, Lans und durch Firewalls, wenn der Port offen ist.
Wenn ein Proxy das externe Netz abschirmt, müssen sowohl Browser als auch ICQ-Protokoll Sonderwege gehen.
-
Eben das OSCAR protocol basiert auf TCP, das heist eine bestehende P2P verbindung... aber ICQ funktioniert auch druch Firewalls.. da kann doch keine P2P verbidung aufgebaut werden? oder doch? was gibts für möglichkeiten?
Naja ich will kein chat Programm, sonder ehr einen datenserver coden, auf den ich von überall mit einer clientanwendung draufzugreifen kann.
-
EDIT: gibts keine librays um solche kommunikationwege zu nutzen wie es icq macht. ne server und ne client lib ... so das sich der client auf den server anmelden kann und amb esten binär daten schicken kann und andersherum.
-
versuchs mit http://xmpp.org/
das ist ein freies format
-
Dann solltest Du Dir aber auch Gedanken ueber eine Verschluesselung machen. Spricht was gegen eine VPN Verbindung und darauf baust Du Deine Verbindung auf? Wenn Du von Grund auf sowas bauen willst, viel Spass und Erfolg.
Linux oder Windows?Ivo
-
InetCommunicator schrieb:
Eben das OSCAR protocol basiert auf TCP, das heist eine bestehende P2P verbindung... aber ICQ funktioniert auch druch Firewalls.. da kann doch keine P2P verbidung aufgebaut werden? oder doch? was gibts für möglichkeiten?
Doch. Natürlich kannst Du durch eine Firewall eine P2P-Verbindung aufbauen. Das Protokoll, was Du suchst ist TCP.
-
InetCommunicator schrieb:
Eben das OSCAR protocol basiert auf TCP, das heist eine bestehende P2P verbindung... aber ICQ funktioniert auch druch Firewalls.. da kann doch keine P2P verbidung aufgebaut werden?
Browser (HTTP) basiert auch auf TCP, oder?
(Achtung, rhetorische Frage)
-
hmm ja denke HTTP basiert auf TCP... stimmt... .NET Remoting over HTTP wäre ja ne möglichkeit oder
-
Such mal nach "Firewalking" (im Zusammenhang mit Firewalls, wer weiß was du da sonst so im Netz findest :D). Gibt auch von der c'T oder so einen schönen Artikel wie Skype sich durch Firewalls und passive Verbindungen verbindet etc.
-
InetCommunicator schrieb:
Eben das OSCAR protocol basiert auf TCP...
das steht zwar so im wikipedia-artikel, aber eigentlich benötigt OSCAR kein tcp, sondern bringt sein eigenes transport-protokoll schon mit.
-
Mittels UDP-Hole-Punching kannst mit jemandem hinter einer Firewall kommunizieren. Allerdings brauchst du dazu einen dritten "offenen" Server, der die beiden Clients vermittelt (im ICQ-Fall eben die ICQ-Server). Außerdem kannst du nur per UDP senden, wenn du also Daten oder sowas schicken willst, musst du sowas wie UDT (UDP Based Data Transfer) verwenden.
Aber ICQ verwendet doch normalerweise eh Client2Server-Verbindungen oder? Nur beim Dateien schicken hat man ne direkte Verbindung.
-
Hole-punching gibt es auch für TCP: http://www.bford.info/pub/net/p2pnat/