Hey all,
I've got a simple server running as a headless Linux standalone program. It just does some simple authentication and retrieves some data from a MySQL database. The client program is part of the same Unity project. That is to say, one scene is the server program and a different scene is the client program. There is a whole host of DLLs responsible for cryptography and MySQL communications, and those DLLs are specifically excluded from the client build, which doesn't require them.
The Linux server runs fine, and the client is fine too. We can connect to the server and perform all required functions without any problems in both the editor and in various standalone builds.
It's entirely RPC-based, there is no state synchronization.
On iOS however, the client program sends RPC calls to the Linux server, but the server never receives them. There is no error, the client program sits around and patiently waits for a response which will never come.
I thought maybe it was because the server used NAT punchthrough on initialization, but the iOS client can connect and report a successful connection. It just can't use the RPC calls.
I'm really not sure what else could be causing the issue. There doesn't seem to be a timeout issue, it stays connected until I close the app myself, and this is verified in both the client and server logs.
There is one odd thing that stands out: we are running Unity 5 Pro and our license does include iOS Pro. We had been developing for Unity 4 previously. Since we switched up to Unity 5, the license seems to work fine, but in the build settings window, it claims that we don't have iOS pro, even though we do, and in fact the built app does NOT show any splash screen. I'm not sure what's going on there but it appears to be a bug. No clue if it's related to this issue.
![alt text][1]
[1]: /storage/temp/44466-screen-shot-2015-04-13-at-20544-pm.png
Anyway, it would be really nice if we could get these RPC calls working on iOS as they do on every other version we build in. Since no error or anything is being thrown, I don't seem to have any way to tell what's happening to the RPC call. Is there some diagnostic method I could use to trace an RPC call that is not reporting any problems? Is there some known issue with iOS RPC calls that I'm not aware of? I trawled Unity Answers and the forums and couldn't find anything like this happening.
Let me know if I need to include more information, and thanks!
↧