Реализовать можно, однако PHP не очень подходит для организации чатов и подобных вещей, где сервер должен держать соединение с множеством клиентов и инициировать отправку данных.
Лучше посмотреть в сторону NodeJS, go, Java, Python...
В основе всех высокоуровневых протоколов взаимодействия компьютеров по сети лежит socket соединение. Когда ты работаешь в браузере, ты не можешь его использовать, у тебя есть только http (ajax это тоже http), грязные хаки, вроде long polling, ну и модный нынче WebSocket.
Если клиент пишется на C, да и вообще на чём угодно что поддерживает сокеты, то тут даже гадать нечего. PHP имеет расширение для работы с сокетами. Раньше вроде считалось что оно не очень, и работают с ним одни извращенцы. Оно и понятно - PHP заточен под http.
На самом деле необходимо придумать или реализовать уже известный, или даже взять библиотеку, в которой уже запрограммирован протокол общения между клиентом и сервером.
По сути, так же как http с его заголовками и телом запроса является протоколом над TCP, то и вам необходимо придумать/ взять готовый протокол такого же уровня - над TCP.