Я думаю, что сложнее думать об этом как о только игре на двоих.
Проще думать с точки зрения обобщенной схемы клиент-сервер с любым количеством игроков.
Иметь сервер, содержащий состояние игры, с подключением клиентов. Это расположение легко понять и с ним можно работать.
Неловко иметь только двух клиентов, каждый из которых поддерживает игровое состояние, получая обновления от другого.
В любом случае, используйте сокеты. Таким образом, вы получите правильную независимость от местоположения.