Спасибо за подробнейший ответ.
Но я всё-таки ещё не понял, как в итоге реализовать задуманное Вы хотите сказать, что лучше использовать сетевой код Unity?
Задача у меня звучит просто - для flash v10 есть такая фича - 2 flash клиента могут общаться между собой по сокетам напрямую, избегая какой-то внешний сервер, этот сервис там называется Stratus. У меня задача - сделать то же самое на юнити. И тут возникает проблема с ip адресами.
Почему я не хочу использовать методы Unity? Потому что мне нужно, чтоб один клиент мог прислать другому всего пару-другую байт, и желательно со скоростью tcp-ip. При этом клиенты не должны различаться на сервер-клиент, то есть если в такой связке находятся несколько unity приложений, то выключение любого из них никак не влияет на общении оставшихся.
В Stratus сделано так - Я посылаю на американский сервер запрос, он в ответ присылает код. Этот код должны знать клиенты, с которыми я хочу пообщаться. Они обращаются к тому же серверу с этим кодом, и сервер в ответ присылает мои сетевые координаты (ip,port), по которым клиенты тут же ко мне коннектятся. При этом у каждого создаётся параллельных 2 сокета - на прослушку и на ответ. То есть по 2 сокета на каждого присоединённого клиента.
Мне нужно сделать также. Подскажите пожалуйста, как Вы видите реализацию этого кода? Может методами unity узнавать свой ip и порт, и сообщать его другим клиентам, а подсоединяться уже обычным TcpListener и TcpClient?