Должен ли я по-прежнему использовать TCPClient для записи серверов или появилось что-то лучшее? - PullRequest
1 голос
/ 17 сентября 2011

Несколько лет назад, когда я писал сервер для простой игры в понг, я использовал TCPClient и ссылался на пример страницы кода .NET Framework 101, которая включала в себя пример серверной и клиентской программы, написанной с использованием .NET Framework 1.1 или 2,0.

Мне нужно написать другой сервер, и мне было интересно, есть ли что-нибудь лучше, чтобы использовать сейчас. Я помню, что код был довольно низкоуровневым, с большим количеством попыток и кодами.

Были ли в .NET Framework 2.0, 3.0, 3.5 или 4.0 какие-либо улучшения в реализации простой программы клиент-сервер? А как насчет простых созданных пользователем оболочек?

Кстати, я не обязательно против использования класса TCPClient. Мне просто интересно, пришло ли что-нибудь еще для дальнейшего абстрагирования класса и / или облегчения создания серверной программы.

1 Ответ

0 голосов
/ 15 ноября 2011

WCF - отличный выбор.Это дает вам большую гибкость и мощь.Вот простое руководство по началу работы: Документация MSDN - Начало работы с WCF .Это сообщение в блоге от Включить код еще проще.

Другой вариант - использование привязок C # к проекту с открытым исходным кодом 0MQ .Он устраняет сложность сокетов без лишних затрат и дает вам много энергии.Из раздела 0MQ в 100 словах:

ØMQ (ZeroMQ, 0MQ, zmq) выглядит как встраиваемая сетевая библиотека, но действует как среда параллелизма.Это дает вам сокеты, которые передают целые сообщения через различные транспорты, такие как внутрипроцессный, межпроцессный, TCP и многоадресная передача.Вы можете соединить сокеты N-to-N с такими шаблонами, как разветвление, pub-sub, распределение задач и запрос-ответ.Это достаточно быстро, чтобы быть тканью для кластерных продуктов.Его модель асинхронного ввода-вывода предоставляет масштабируемые многоядерные приложения, созданные как задачи асинхронной обработки сообщений.Он имеет множество языковых API и работает в большинстве операционных систем.ØMQ от iMatix и LGPL с открытым исходным кодом

...