Этот код правильно построен. Только необходимо обратить внимание, что определение шаблона видимо при инстанцировании. Заключить стандарт в кавычки, В§ 14.7.2.4:
определение неэкспортируемого шаблона функции, неэкспортируемого шаблона функции членства, или неэкспортируемой функции членства или статического элемента данных шаблона класса должно присутствовать в каждой единице перевода, в которой это явно инстанцируют.
Если вы можете заставить код вашего сервера соответствовать спецификации Bayeux, то вы может использовать любую из существующих кометных реализаций javascript , в настоящее время доступных в DOJO и jQuery. К сожалению, спецификация довольно сложна, особенно если вы хотите использовать как длинный опрос, так и опрос обратного вызова. Возможно, вам лучше просто запустить существующий сервер Cometd, такой как Jetty, а затем написать клиентскую библиотеку для кода вашего сервера, чтобы отправлять на него данные.