1

I have a Unity project and a ROSBridge host. When I run the Unity project from a windows machine, it can connect to the ROSBridge as hosted by two different Ubuntu machines. Putting the Unity project on one of the Ubuntu machines instead, it is incapable of connecting to the other Ubuntu machine hosting the ROSBridge. So it seems the Ubuntu machine can host but for some reason cannot be the client.

I had to explicitly allow port 9090 to host TCP on the Ubuntu machines. Perhaps whatever port Unity is trying to use as the client is not permitted to use TCP? Or maybe the app itself is not permitted? How can I ensure that it is allowed? Wouldn't it just pick any available TCP port? I made 9091 allowed as well so there is at least one more available to use, but it still does not work. Any other ideas?

CodeMonkey
  • 71
  • 7
  • Probably the correct tag is [tag:Unity3d] not [tag:Unitu] (which is Ubuntu's desktop environment). – pa4080 Jan 25 '19 at 08:23
  • Run the project on Ubuntu machine with `strace -o project.trace.txt -f ./project_app.sh` Substitute the actual command you use for `./project_app.sh`. The trace will be stored in `project.trace.txt`. You might want to paste it either here or on `paste.ubuntu.com` It may help reveal what is going on under the hood. – Sergiy Kolodyazhnyy Jan 29 '19 at 01:26

1 Answers1

1

This appears to be a problem with Unity itself. The networking is fine. Unity's Linux build is somehow not setting up its dependencies properly and preventing it from even trying the networking.

CodeMonkey
  • 71
  • 7
  • In [this answer](https://askubuntu.com/a/1020026/566421) I've discovered has minor bug with using quotes within the setings. Could be something similar here? – pa4080 Jan 25 '19 at 08:21