WedX - журнал о программировании и компьютерных науках

wcf и сетевое программирование на c#

Я хочу изучать сетевое программирование, в «C# в двух словах» есть глава под названием «Сеть», эта глава содержит «WebClient», «HttpClient», «FTP», «TCP» и так далее. Но кто-то говорит мне изучать WCF, я хочу знать, какая связь между WCF и сетевым программированием на c#, я вспомнил, что где-то видел, что WCF инкапсулирует сетевое программирование, это более гибко и удобно, но неэффективно. Означает ли это связь между ними, как технология ado.net с orm? Что мне изучать, сетевое программирование или WCF? Является ли сетевое программирование С# устаревшей технологией?

Спасибо


  • Почему бы вам не посмотреть здесь, здесь и здесь в целом. Это было так гуглится. 20.08.2012

Ответы:


1

«сетевое программирование» обычно относится к сокетам, это самый низкий уровень сетевого взаимодействия и имеет дело с передачей байтов по сети — все остальные системы связи построены на основе сокетов.

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

Следующий уровень — это WebClient и друзья, это относительно простые классы, реализующие протокол связи поверх сокетов (например, HTTP).

Определенно стоит потратить время на то, чтобы научиться их использовать, потому что они просты и чрезвычайно полезны (например, если вы хотите получить файл из Интернета или связаться со сторонней службой).

На самом высоком уровне у вас есть WCF, это обширная (и, по моему личному мнению, чрезмерно сложная и перепроектированная) структура, которая дает вам интерфейс класса для внешней сетевой службы, пытаясь (безуспешно) скрыть все детали связи .

WCF очень популярен в крупных организациях и «корпоративных системах», поэтому, если вы хотите получить работу по разработке корпоративных систем для крупных организаций, изучение WCF — это очень разумный карьерный шаг.

Итак, мой совет, начните с сокетов, изучите только основы — это поможет вам понять, как все работает внутри (это станет очень полезным, когда вам придется отлаживать сетевые проблемы).

Затем перейдите к классам более высокого уровня, напишите простую программу, которая использует WebClient для чтения страницы из Интернета, чтобы вам было удобно с этой концепцией, не беспокойтесь обо всех дополнительных параметрах, они есть, и вы можете их найти. позже, когда они вам понадобятся.

Изучение основ сокетов и WebClient должно занять всего несколько часов, после этого (если вы хотите работать на больших системах) научитесь использовать WCF.

Тогда у вас будут знания WCF для вашего резюме, и вы будете знать, как просто получить что-то через Интернет с помощью нескольких строк кода, не используя гигантский фреймворк, когда он вам не нужен.

20.08.2012

2

Если вы хотите изучать сетевое программирование, вам следует прочитать о сокетах и TCP/IP (а позже и о UDP, если вы хотите передавать потоковые или более мелкие пакеты). Сокеты — это API, который большинство операционных систем использует для работы с такими протоколами, как TCP/IP.

Ваше сравнение верно. WCF — это платформа поверх сетевого уровня в .NET. Точно так же, как ORM — это фреймворки поверх ADO.NET.

20.08.2012

3

WCF — это не так называемое сетевое программирование. Это два понятия с некоторыми отношениями.

Обычно под сетевым программированием подразумевается программирование сокетов и TCP/IP. Предполагается, что вы знакомы с протоколами, такими как HTTP, FTP, SNMP и так далее. Затем вы можете писать программы, которые служат в качестве серверов протоколов и клиентов. Сетевое программирование по-прежнему популярно, хотя уже не так популярно.

WCF — это фреймворк для веб-сервисов, который поддерживает только HTTP (в основном SOAP).

Если возможно, вы должны изучить оба или, по крайней мере, знать об обоих.

20.08.2012
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]