Closed fengshangren closed 1 year ago
Can juice_add_remote_candidate only be added line by line, not all together?
Why is libjuice's NAT penetration of the same computer not 100% successful, only about 50% success rate?
Does libjuice have examples used in the public network?
Why can I penetrate the NAT, but the success rate is not %100? Is it necessary to restart ICE several times to penetrate?
Please prefer the discussions GitHub feature if you want to ask questions rather than reporting an issue.
After libjuice p2p succeeds, what is the default mtu of UDP?
The MTU is the actual network path MTU as libjuice does not add overhead, except when relayed it is the path MTU minus 4 bytes. libjuice only implements the ICE protocol to establish connectivity and does not probe the path MTU.
Can juice_add_remote_candidate only be added line by line, not all together?
The juice_add_remote_candidate
function must be called for each candidate if you send the description before candidates gathering is done. If you wait for gathering done, you only need to call juice_set_remote_description
with the whole description and you should not call juice_add_remote_candidate
.
Why is libjuice's NAT penetration of the same computer not 100% successful, only about 50% success rate?
Even with the same two computers, the connection process is expected not to be 100% reproductible without TURN server as NAT mapping types are not always deterministic. However, with such a low success rate, it is also possible the STUN/TURN servers you use are partially blocked (typically if attempting to connect from China with Google servers).
Does libjuice have examples used in the public network?
Not in the repository, but libjuice is used as ICE backend for https://github.com/paullouisageneau/libdatachannel, which has various examples.
In an environment where P2P can be used, why does libjuice use relay instead of P2P by default?
The juice_add_remote_candidate function must be called for each candidate if you send the description before candidates gathering is done. If you wait for gathering done, you only need to call juice_set_remote_description with the whole description and you should not call juice_add_remote_candidate.
I have collected all the candidates, if you just call juice_set_remote_description, P2P will always fail, I have to call juice_add_remote_candidate when I test, P2P will succeed
In an environment where P2P can be used, why does libjuice use relay instead of P2P by default?
It does not, direct connection is always preferred when it succeeds.
I have collected all the candidates, if you just call juice_set_remote_description, P2P will always fail, I have to call juice_add_remote_candidate when I test, P2P will succeed
Please open a specific issue for this with code to reproduce the problem.
I'm closing this as the original question has been answered.
After libjuice p2p succeeds, what is the default mtu of UDP?