- Home /
PublicIPPortBlocked - Network.Connect() across multiple projects
Having a bit of a strange bug that I'm struggling to overcome. I have two Unity projects: one runs an app on an android phone, the other is on my desktop and is to receive data from the phone.
Mobile project code excerpt: (IP address removed)
NetworkView nv;
bool mobile = false;
void Start () {
if (Application.platform == RuntimePlatform.Android) {
Screen.sleepTimeout = SleepTimeout.NeverSleep;
mobile = true;
}
if (mobile) {
text.text = Application.platform.ToString();
Network.InitializeServer (10, yyyyy, false);
nv = GetComponent<NetworkView>();
nv.RPC("step", RPCMode.All, "testing");
}
else {
Network.Connect ("xxx.xx.xxx.xx", yyyyy);
print ("Connected");
}
}
[RPC]
public void step(string s) {
print("Received");
}
PC project code excerpt:
void Start () {
Network.Connect ("xxx.xx.xxx.xx", yyyyy);
print ("Connected to mobile");
}
void Update () {
print(Network.TestConnection().ToString());
}
[RPC]
public void step(string s) {
print("Received");
}
When I run the mobile project on the Android and PC they communicate perfectly. However when the mobile project is on the Android and the PC project is on the PC, the PC fails to receive the RPC calls.
I introduced Network.TestConnection()
to find out if the PC was even connecting to the mobile, and the following is printed: PublicIPPortBlocked
. No further information is given.
From Unity documentation I can see that this means that a public IP has been detected but that the port cannot be accessed. However the same code succeeds when being run from the mobile project.
I'm wondering if I have simply overlooked a setting or whether there is something else going on here?
In summary: connecting to a server with Network.Connect() works from within the same project as the one the Network has been instantiated, but not from a second project.
Update
After a lot of trial and error I have finally found a solution, which is to disable the script and enable it at runtime. I can only assume that I have something elsewhere in my project which is interfering, which I will look for in due course.
Your answer
Follow this Question
Related Questions
RPC replace the existing list on all players 0 Answers
how to properly clean up the NetworkView to prevent errors ? 0 Answers
How can i send a Player list to every Client 0 Answers
Multiplayer Moving Bullet 1 Answer
Check RPC is from Server 1 Answer