-
Notifications
You must be signed in to change notification settings - Fork 628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P2P Not Working, test_p2p.exe Not Working #354
Comments
I experienced the same thing (not using TURN though) when trying test_p2p on two devices on the same LAN. I found that it worked when I allowed the app through Windows firewall one of the two devices. Here's the sequence of events I am seeing using Wireshark and adding some log statements:
The problem seems to be here: When receiving the first STUN request from the peer, if we haven't sent our own STUN request yet we use the default callback However, if we have already sent our own STUN request we use this callback instead I could be missing something, but it seems like we should always respond to the peer's STUN requests rather than assuming they will only be responses to the ones we sent. I tried out this hacky workaround which ensures that both callbacks are always called, so STUN requests are always responded to, and that fixed the issue for me even with the firewall on.
|
Hi there.
I got to the point where I am testing the actual P2P connections in our game and it doesn't seem to be working. I thought it was something with how I set it up in game, so I tried the
test_p2p.exe
example and that also doesn't work. Here is what I have tested.If I run
py test_p2p.py
, that works since everything is on the same machine. I did see another issue related to P2P not working if the signaling server was remote. So I ran thetrivial_signaling_server.go
on an external server and updated the script to point to that and it worked with thetest_p2p.py
script.I ran one instance of
test_p2p.exe
as the server role on my work computer and then remoted into my home computer and ran the other instance as the client role of it and this did not work. They were unable to make a connection. I also swapped the roles (work computer is the client and home computer was the server) and that also did not work.After looking through the logs/output of them, it seems that the client role never gets the public IP address of the server role as a rendezvous candidate. The other weird thing is that it didn't connect to the TURN server. I updated the code in
test_p2p.cpp
with this (the TURN server section is commented out originally)Here are the logs for the server role from my work machine (I redacted some of the IP addresses)
Here are the logs from the client role on my home machine
Is anyone else experiencing this? Is there something that I missed when modifying the
test_p2p.cpp
file?I have tried building with
-DUSE_STEAMWEBRTC=ON
and without that, and its the same result. I cannot make a P2P connection whentest_p2p
are running on different networks.Any help/info would be appreciated.
Thanks
The text was updated successfully, but these errors were encountered: