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