We try to send the msg faster as possible.
With apple push server, everything works fine, Millions of messages
are send in  few minutes.

With C2DM, curl is a bit too slow. We try to use a socket but we
already received  the famous  401 error:
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>










On 9 nov, 08:41, Efi Merdler-Kravitz <[email protected]> wrote:
> Interesting. did you try to profile your PHP page to see where the
> bottleneck might be, e.g. do you finish sending the requests quickly
> and then wait 10 minutes while google sends thec2dmmessages or each
> curl request takes a couple of seconds and it ads up.
>
> I'm asking because it can lead to a different type of solution, for
> example running curl requests concurrently in case it's the second
> scenario.
>
> Efi
>
> On Nov 8, 5:04 pm, kouz <[email protected]> wrote:
>
> > hi,
>
> > I try to create a php server to send message with c2dn.
> > The process is very slow, It take more than 10 min to send 5000
> > messages.
>
> > the code is very simple:
> > First I connect to google:
> >         $this->ch = curl_init();
> >          $post_fields = "accountType=" . urlencode('GOOGLE') .
> > "&Email=" . urlencode($username) . "&Passwd=" . urlencode($password) .
> > "&source=" . urlencode($source) . "&service=" . urlencode($service);
>
> >         curl_setopt($this->ch, CURLOPT_URL, "https://www.google.com/
> > accounts/ClientLogin");
> >         curl_setopt($this->ch, CURLOPT_HEADER, true);
> >         curl_setopt($this->ch, CURLOPT_POST, true);
> >         curl_setopt($this->ch, CURLOPT_POSTFIELDS, $post_fields);
> >         curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
> >         curl_setopt($this->ch, CURLOPT_FRESH_CONNECT, true);
>
> >         curl_setopt($this->ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
> >         curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);
> >         curl_setopt($this->ch, CURLOPT_TIMEOUT, 10);
> >         curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 10);
>
> >         $response = curl_exec($this->ch);
>
> > After login, I send the message to each users with the same
> > connection :
>
> > while($deviceToken){
> >         $post_fields = "xxxxxx&collapse_key=aaaa"  .
> > "&data.message=" . urlencode($message);
> >         curl_setopt($this->ch, CURLOPT_URL, "http://
> > android.apis.google.com/c2dm/send");
> >         curl_setopt($this->ch, CURLOPT_HTTPHEADER, $headers);
> >         curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);
> >         curl_setopt($this->ch, CURLOPT_POST, true);
> >         curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
> >         curl_setopt($this->ch, CURLOPT_POSTFIELDS,
> > "registration_id=" . $deviceToken.$post_fields);
> >         $result=curl_exec($this->ch);
>
> > }
>
> > Somebody know a better (faster) way to do the job?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to