Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Myn · Jul 15, 2015 at 07:22 PM · c#networkrpc

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.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

2 People are following this question.

avatar image avatar image

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


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges