As an addendum to this... I am migrating off the channel API.  I did some 
testing today with enough logging in place to prove that the channel API 
was silently failing to deliver messages to connected clients.  Given all 
the other problems, this was the straw that broke the camel's back.

Since I already have a node.js instance standing by to deliver Apple push 
notifications, I'm going to expand that instance's role to handling 
connected message transport as well.  I'm planning to use socket.io to do 
this.  I should be able to do this in such a way that it's largely 
transparent to the client, abstracted behind a class that knows how to 
connect to the messaging service and fan out resulting messages.  If people 
are interested I'll post the solution somewhere when it's done.

- Kris

On Saturday, October 27, 2012 10:52:55 AM UTC-7, Kristopher Giesing wrote:
>
> Sorry, check that, for development I set the connection base to the 
> equivalent of localhost.  I also added the same methods to the prod version 
> of the channel JS, which was trickier because it's minified.
>
> This works for me because cross domain restrictions don't apply to 
> statically served files, at least on iOS devices.  Your use case may be 
> different.
>
> - Kris
>
> On Saturday, October 27, 2012 10:48:26 AM UTC-7, Kristopher Giesing wrote:
>>
>> I added a function like this to the channel javascript:
>>
>> goog.appengine.DevSocket.setConnectionBase = function(base) { 
>> goog.appengine.DevSocket.BASE_URL = base + "_ah/channel/"};
>>
>> ...
>>
>> goog.exportSymbol("goog.appengine.Channel.setConnectionBase", 
>> goog.appengine.DevSocket.setConnectionBase);
>>
>> This allowed me to serve the channel javascript as a static file served 
>> outside of appspot.com instead of through the normal page load process. 
>> (This is a static mobile app based on PhoneGap.) The base URL I set to was 
>> the appspot.com domain.
>>
>> - Kris
>>
>> On Wednesday, October 24, 2012 2:10:20 PM UTC-7, niedbalski wrote:
>>>
>>> Hi Kristopher,
>>>
>>> On Tuesday, October 23, 2012 3:15:02 AM UTC-3, Kristopher Giesing wrote:
>>>
>>>> The live version uses an embedded iFrame.  The dev server version can't 
>>>> work across domains without modifications, but I have gotten it to work by 
>>>> adding a method that overrides the base URL.
>>>>
>>>> - Kris
>>>>
>>>> On Monday, October 22, 2012 2:27:28 PM UTC-7, niedbalski wrote:
>>>>>
>>>>> ...
>>>>>
>>>>>
>>>
>>> Do you know why the development server is not using the same iframe 
>>> work-around ?  Can you share your hack for this?
>>>
>>> Thanks you.
>>>
>>> JNR.
>>>
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/LCFvn7W_PL0J.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to