Реализовать сервер Comet на C #

Хотелось бы узнать, есть ли способ написать сервер кометы на C #. У меня есть код C #, который периодически генерирует данные, и я хочу отправить эти данные в приложение Java. Итак, я хотел бы преобразовать свой код C # в сервер кометы. Также хотелось бы знать, реализован ли какой-либо сервер кометы, который позволяет нам подключать к нему приложение C # и приложение Java, чтобы приложение C # могло передавать информацию в приложение Java через сервер кометы. частота отправки данных будет высокой, но размер отдельного сообщения очень мал: строковое значение.


person sura    schedule 14.11.2009    source источник
comment
это индивидуальная исследовательская работа, поэтому мы не можем позволить себе какие-либо коммерческие продукты. Коммерческий продукт Stream Hub имеет хорошую реализацию сервера кометы, но необходимые мне функции недоступны в их бесплатной версии.   -  person sura    schedule 14.11.2009


Ответы (3)


Давайте это прямо.

Я предполагаю, что это продолжение этого вопроса: связь между Java и C #

Это взаимодействие приложения с приложением на одном компьютере, где в качестве полезной нагрузки используются только строки, верно?

Почему КОМЕТА? Почему бы просто не отправлять строки с завершающим нулем напрямую через соединение сокета? Внедрение сервера Comet далеко не тривиально и используется только в ситуациях, когда более прямая связь запрещена (например, от сервера к браузеру). Комета для обмена данными между приложениями на одной и той же машине была бы очень сложной для решения, которое легко решить с помощью сокетов.

person spender    schedule 14.11.2009

Это определенно можно сделать, но написание сервера кометы на C # - довольно сложная задача. Мы создали один (WebSync), и это потребовало значительных усилий. Если вы просто занимаетесь исследовательским проектом, вы можете использовать версию OnDemand, которая размещена и имеет 10 бесплатных пользователей. Сейчас серверная версия не бесплатная, но довольно дешевая ...

Что бы это ни стоило, если вы все же решите развернуть свой собственный, вы будете смотреть на IHttpAsyncHandler, и вам нужно будет немного управлять потоками, чтобы иметь дело с ограничениями пула потоков по умолчанию в IIS.

person jvenema    schedule 20.11.2009
comment
Если кто это прочитает, то это очень хороший продукт. Взгляни в это. Вы не пожалеете об этом. - person Dested; 08.02.2010
comment
Можете ли вы использовать WebSync On-Demand SDK для использования сервера Comet, такого как сервер superfeedr? blog.superfeedr.com/websockets-and-comet - person superlogical; 13.01.2011
comment
Похоже, что у них есть собственная реализация под капотом, поэтому вам не понадобится WSOD для ее использования. Конечно, WSOD можно использовать вместе с ним, но они создают свою собственную реализацию, используя свой собственный протокол; обратите внимание, что они упоминают, что протокол не определен ... это не совсем так, поскольку спецификация Bayeux, безусловно, доступна. (svn.cometd.com/trunk/bayeux/bayeux.html). Таким образом, у них тоже должен быть собственный SDK. - person jvenema; 13.01.2011

Вам может понадобиться образец исходного кода для вашей реализации? Обратный ajax-библиотека PokeIn была проектом с открытым исходным кодом, и исходные коды для более ранних версий все еще можно загрузить по адресу codeplex.

Очевидно, что последняя версия библиотеки PokeIn - одна из самых замечательных библиотек для .Net framework, и вы можете использовать их бесплатную версию сообщества.

person BigbangO    schedule 16.01.2011