Я вхожу в программирование сокетов на C # .net для проекта, который я пишу.
Проект будет представлять собой многопользовательскую систему, клиентские службы которой отслеживают системные ресурсы и отсылают отчеты на центральный сервер (ы).
Я изучал Remoting, WCF и т. Д., Чтобыопределить, что будет лучше для меня.Я согласился с программированием сокетов из-за ряда требований:
- Сокеты быстрее, чем остальные, с небольшими накладными расходами
- Я могу поддерживать больше соединений на ресурсы на серверах
- Сокеты могут , хотя и с модификациями, позволяют мне также взаимодействовать с системами на основе UNIX.
- Я могу самостоятельно реализовать шифрование для ссылки в коде, не полагаясь на сертификат SSL.
Возможно, я ошибаюсь в своих мыслях здесь?Если я, пожалуйста, скажите.Некоторые предлагают WCF, поскольку он «бесполезен в использовании» и делает все, что я хочу, но я считаю, что это намного медленнее с накладными расходами.
Моя главная проблема заключается в том, что, хотя клиентская машина не будет поддерживать соединение открытым, могут существовать тысячи или десятки тысяч клиентских машин, и я должен был бы предположить, что машина будет забита соединениями,Учитывая минимальное время между соединениями для каждого клиента, может быть всего 1 мин.
Теперь моя проблема: Как отправить несколько объектов по ссылке и, что более важно, как определить, кто онис другой стороны?
Я предполагаю, что это возможно по одному соединению, поскольку я прочитал ряд статей, в которых говорится об этом, хотя они описывают методы по-разному, как и примеры.
Проблема в том, что я не могу найти ни одного примера, который действительно делает это.Ни один пример не показывает, как отправить несколько объектов, а затем как определить, что они находятся на другой стороне.
Может кто-нибудь помочь мне здесь или указать примеры.Я вполне могу разобраться, когда у меня есть база для работы.