Я думаю, что вы ищете службу push-уведомлений.
Вы можете реализовать свою собственную (используя Comet) или подписаться на публичную службу.
Примеры:
PubNub , BeaconPush
С Google вы найдете гораздо больше.
Редактировать
Я думаю, что мой ответ не был достаточно ясным.С моим предложением вы могли бы сделать это (используя pubnub):
Пользователь B (идентификатор пользователя 7) записывает запрос на добавление в друзья пользователю A (идентификатор пользователя 8).В вашем обработчике PHP вы делаете:
$pubnub->publish(array(
'channel' => 'friend_requests_8',
'message' => array( 'request_from' => '7' )
));
Я не очень привык к php, но я надеюсь, вы понимаете, о чем я.
На странице клиента вы можете просто зарегистрироваться на своемchannel ('friend_request_'), а затем обработать запросы:
// PUBNUB.subscribe() - LISTEN
PUBNUB.subscribe({
channel : "friend_request_<? echo $user_ID; ?>",
callback : function(message) { alert('FRIEND REQUEST FROM USER ID: ' + message.request_from) }
})
Так что с этим решением вам не придется обрабатывать какие-либо временные интервалы или циклы, потому что pubnub обрабатывает это для вас.Это делает Facebook (насколько мне известно), и BeaconPush используется EA для Battlelog, который, на мой взгляд, является отличным веб-сайтом с множеством интересных веб-технологий.