Sending multiple iPhone push notifications + APNS + PHP

I am working on a PHP website + iPhone application and API for iPhone application, has a messaging system for students and doctors, when any one sends message (from website or iPhone) the other user should get push notification on his iphone. For example if student adds a new question for teacher, a push notification on teachers iPhone/iPad will be send to teacher and when teacher replies to student’s answer, student will get a push notification.

GCM Notifications not receiving when app is in background mode in iOS

I have configured GCM in my existing app and i am receiving the notifications there. Now i am facing two problem:
1) I am not receiving notifications When i exit the application or application is in the background.
2) I am not receiving notification in iphone’s notification area, only when my app is running i only direct receive alert message there. And when i pull down notification area i get this message in xcode’s console “Could not connect to GCM: The operation couldn’t be completed. (com.google.gcm error 2001.)”

Realtime web programming: how does it work?

As a web developer, I have developed a chat service and some other real-time collaborative services with the help of third-party services like Redis or Pusher. They provide simple API’s that I can use publish/subscribe model to achieve bidirectional communication over the webserver. I want to now implement a simple push notification without the use of any third-party services, but I am not quite sure how to achieve this. The situation is as below: