То что вы пытаетесь сформулировать - называется "протокол взаимодействия". Тобишь правила, по которым общаются клиент и сервер. Он может быть как бинарным, так и текстовым (да, JSON). Протокол описывает, что, в каком формате и последовательности будет передано. Например - "если 3 байт пакета равен 10, то это запрос координат. Координаты передаются в ответном пакете в битах 3 и 4".
А про GET/POST - можно их, если скорость не критична и запросов мало. Можно (и в вашем примере нужно) - сокеты.