Über welches Protokol kommuniziert ICQ?
-
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/