Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 VMohan · Sep 04, 2015 at 09:34 PM · c#unity 5networkingmobilemac

Network Transport Layer API does not work with iOS to PC?

I am working on a new open source project called Navi (you can check out all the code at the github repo). In short, it is a system that transfers the sensor data via a local router to your PC for use cases in virtual reality. Currently, I have the system working for an Android device to a PC. However, after porting the code to iOS, I notice the following error message when the iOS device tried to connect to my PC:

 Error: Hack attack in disconnect packet

However, when I try to connect the iPad to my Mac, it works just fine. The other interesting thing is that now when I connect my Android to my Mac, they do not pair and I get the following error in adb:

 W/Unity   (15172): Attempt to send to not connected connection {1}
 W/Unity   (15172):
 W/Unity   (15172): (Filename:  Line: 352)
 

I should note that the android build was created by my PC and the iOS build was created on my Mac, which I am suspecting has something do with the problem.

I will link relevant source code from the project in case someone notices anything silly I am doing:

  1. NaviConnectionSDK, which is network code that runs on the PC or Mac. (Note you do not need a VR headset to test this)

  2. NaviMobileManager, which is the network code that runs on the iOS or Android device.

For a quick overview of how these things are getting connected, check this wiki page. Also, currently, the master branch does not build for iOS, so please check out the iOSBuild branch if you want to test it out. Please let me know if you have more questions and I would be happy to try and answer them.

Comment
Add comment · Show 2
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
avatar image Dave-Carlile · Sep 04, 2015 at 09:38 PM 0
Share

I don't know if Unity is supposed to handle this for you, but when doing cross platform networking (at least in the old days) you'd have to handle byte ordering properly (i.e. dealing with the order the hardware stored the bytes in multi-byte integers). Each platform would convert to a standard network byte order when sending data, then convert from the network byte order to the platform byte order.

That used to be an issues with $$anonymous$$acs when they were using the $$anonymous$$otorola processors since they stored words in the reverse order from Intel processors. But now that they use Intel processors I don't know. But this is something to consider.

avatar image VMohan · Sep 04, 2015 at 10:23 PM 0
Share

Interesting, I wonder then if this has to do with the fact that PC's compile Serialization code differently than $$anonymous$$acs. Here is a link to the data structure I use to serialize into a byte buffer:

https://github.com/vmohan7/Navi/blob/master/NaviSD$$anonymous$$/Assets/NaviDataStructs/PoseSerializer.cs

I will give this a look tonight and see if this is the issue. That said, if this was the issue I am not sure how to go about fixing it.

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by VMohan · Sep 05, 2015 at 08:06 AM

Turns out the answer was a lot easier than I thought it was. I had compiled the PC version using Unity 5.1.1, but had compiled the iOS build in Unity 5.1.3. After upgrading, my PC build to Unity 5.1.3, they are able to connect regardless of where I build from. So, I guess the versions of the Network Layer API are incompatible.

Comment
Add comment · Share
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

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Using AirBrakes on mobile device with Standard Assets AircraftController 0 Answers

UNet Weaver Error, on project updation 1 Answer

Unity Multiplayer Android Game 0 Answers

Distribute terrain in zones 3 Answers

[Beginner] /C#/UDP/LocalHost/ receiving data the IPEndPoint.Port is different 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