Сокет C # против c ++ Сокет, что лучше? - PullRequest
2 голосов
/ 29 ноября 2009

У меня есть серверный проект, который должен быть разработан на платформе .Net, но я сомневаюсь в производительности сокета c #, некоторые ребята говорили мне, что приложение C # всегда потребляет много памяти, особенно когда постоянно обменивается большой пакет данных в настоящее время. перезапись данных в памяти происходит слишком медленно. Кто-нибудь дать некоторые идеи о производительности сокета C #?

Ответы [ 4 ]

6 голосов
/ 29 ноября 2009

Это зависит от вас. Некоторые люди могут сказать, что C # имеет лучшую встроенную функциональность, потому что он лучше упакован и инкапсулирован. Для меня это личный выбор. Когда я начинаю новый проект в .NET, я выбираю C #. В более старом приложении я использую C ++ Builder 5 с Socket Communication, и он такой же быстрый и работает так же хорошо, как и версия C #. В версии C ++ (которая инкапсулирована как C #) есть события, которые обеспечивают обработку ошибок из-за потери сетевого соединения или какой-либо другой ошибки в сокете. Суть в том, что я бы не основывал выбор языка вашего приложения на сокетах.

5 голосов
/ 29 ноября 2009

C # Сокеты не имеют заметного снижения производительности.

Если ваше приложение не постоянно связано с процессором, вы получите больше преимуществ от безопасности, обеспечиваемой решением C #, чем любые преимущества в производительности от неуправляемого решения C ++.

3 голосов
/ 29 ноября 2009

Я бы придерживался слоя C #. Это более безопасная среда, с точки зрения обработки ошибок, и я не верю, что вы увидите значительное влияние на производительность, если ваши модели сокетов и потоков будут правильно созданы (так же, как вы должны были бы это сделать в C ++).

1 голос
/ 29 ноября 2009

Используйте C #. Управляемый С ++ в лучшем случае плох. В любом случае, если вы разрабатываете серверное приложение, использование ресурсов не будет (например) экспоненциальным. Вы можете обновлять линейно, как если бы вы не использовали реализацию сокетов.

В конце концов, это ничто, что вы не можете исправить, бросая в это оборудование.

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