Как реализовать соединение компьютер-компьютер в JAVA?
Всем привет! Хочу реализовать соединение компьютер-компьютер. Уровень - самоучка. Допустим у меня есть программа (игра, например, танчики, крестики-нолики), рассчитанная на двоих человек.
Как мне реализовать взаимосвязь между этими двумя компьютерами, у которых динамические ip-адреса. Читал, что для этого нужен внешний сервер.
Каким он должен быть, если, например игра рассчитана на двух человек, а игру запустили больше двух. Нужно обеспечить взаимосвязанные пары компьютеров-клиентов, чтобы они не конфликтовали друг с другом?
можно использовать Socket: на сервере можно создавать комнаты (контроллеры) для работы с двумя конкретными клиентами (два инстанса Socket, которые как-то взаимодействуют между собой и сервер следит за этим и это важно, чтобы сервер контролировал процесс игры, а не клиент)
можно попробовать через HTTP, но тогда клиент будет вынужден постоянно делать запросы серверу о состоянии игры и обновлять что-то у себя, а в случае с сокетами сервер сможет сам уведомлять клиента о событии.