none
Can EWS use HTTP keepalive when sending push notifications? RRS feed

  • Question

  • I have an application that subscribes to many users' folders using push notifications. Whenever something changes in one of the folders to which my application subscribed, the CAS server opens an HTTP connection to the URI supplied when the subscription was created and dutifully sends the request. Unfortunately, the CAS server sends the HTTP header Connection: Close with each notification request. This means that each notification requires its own TCP connection, which leaves a lot of TCP connections sitting around in the TIME_WAIT state. The CAS server doesn't appear to reuse the ports via SO_REUSEADDR.

    My application always sends the same URI for all subscriptions (e.g., http://foo.bar.com/pushNotification). It receives a lot of notifications, depending on what the user is doing. The number of TCP sockets left in the TIME_WAIT state is a problem in that other connections cannot reuse those ports and my (Unix-based) application is running out of file descriptors. Is there any way to configure the CAS server to use HTTP keepalive and/or SO_REUSEADDR? This would seem to increase performance as well.

    Also: the schema for push notifications appears to support multiple notifications per message, even if those messages are for different subscriptions. Will this be supported some day?

    Monday, December 12, 2011 4:58 PM