Этот вопрос на самом деле довольно общий, но мне действительно трудно найти хороший ответ или пример того, как это следует сделать.
Мы пишем простое многопользовательское приложение для совместного просмотра веб-страниц, и у нас возникают некоторые проблемы, решающие, что использовать для протокола связи.
Мы разрабатываем в C # под Mono, надеясь в конечном итоге сделать его кроссплатформенным.
Связь, вероятно, будет состоять из сообщений, таких как: регистрация пользователя в сеансе (клиент-сервер), уведомление клиентов о новом подключенном пользователе (сервер-клиент), запрос загрузки страницы (клиент-сервер), и т.п.
У нас есть следующие идеи:
- XmlСериализация расширений базового класса сообщений
, который мы пытались, но испытываем затруднения при использовании механизма XmlSerialization в качестве средства передачи данных во времени, поэтому у нас есть сомнения, что это правильный способ сделать это
- Двоичная сериализация в том же случае
, который мне не очень нравится из-за формы, которую принимают данные, и потому, что я боюсь, что это немного более рискованно.
Буферы протокола Google
WCF
и то, и другое звучит гораздо ближе к тому, что следует использовать, но мы боимся, что для такого довольно простого протокола было бы излишним.
и, возможно, другие, которые я пропустил.
Каким был бы хороший чистый способ сделать это?