Disons que j'ai deux ordinateurs.
Ils savent les uns des autres publics et privés IPs via ice4j
.
Un client à l'écoute et de l'autre l'envoi d'une chaîne de caractères.
J'aimerais voir cela se produire via UPD perforation:
Let A be the client requesting the connection
Let B be the client that is responding to the request
Let S be the ice4j STUN server that they contact to initiate the connection
--
A sends a connection request to S
S responds with B's IP and port info, and sends A's IP and port info to B
A sends a UDP packet to B, which B's router firewall drops but it still
punches a hole in A's own firewall where B can connect
B sends a UDP packet to A, that both punches a hole in their own firewall,
and reaches A through the hole that they punched in their own firewall
A and B can now communicate through their established connection without
the help of S
Pouvait-on post pseudo exemples de la façon de faire de la perforation par NAT symétrique? En supposant qu'il sera serveur S qui les aideront à deviner les numéros de port et d'établir la connexion entre le client A et B.
Il serait bien si vous comptabilisés double NAT ainsi.
NOTE:
Vous pouvez utiliser PARALYSANT pour découvrir l'IP et le Port, mais vous devez écrire votre propre code envoie l'IP:Port de votre serveur via keepalive
technique.
Une fois un client identifie l'autre via l'ID unique sur le serveur, il vous sera fourni avec l'autre client IP:port info pour UDP perforatrice les données dont il a besoin pour envoyer et recevoir des.
Petite mise à jour:
Il y a de la bibliothèque qui se profile à l'horizon pour java check it out:
https://github.com/htwg/UCE#readme