forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Сетевое программирование (http://forum.boolean.name/showthread.php?t=14926)

Lestar 18.06.2011 16:34

Сетевое программирование
 
Для поднятия уровня знаний,посоветуйте что либо почитать по сетевому программированию.

pax 18.06.2011 17:53

Ответ: Сетевое программирование
 
Отличная статья: http://msdn.microsoft.com/ru-ru/library/dd335942.aspx

Lestar 18.06.2011 18:44

Ответ: Сетевое программирование
 
Если рассматривать TCP и UDP протоколы,в чем преимущество/недостатки,в каких случаях с чем лучше работать?
Несмотря на то,что TCP гарантирует доставку сообщений и правильный порядок пакетов, во многих случаях используется UDP.Хотя бы взять пример Фотона.Чем можно аргументировать выбор протокола?

den 18.06.2011 18:52

Ответ: Сетевое программирование
 
Там нет праверки на доставку пакета -> он быстрее.

ffinder 18.06.2011 21:27

Ответ: Сетевое программирование
 
Цитата:

Сообщение от Den (Сообщение 192132)
Там нет праверки на доставку пакета -> он быстрее.

быстрее
быстрее
быстрее

лицорука.жпг

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

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

если же данные должны либо дойти до адресата, либо должна быть указана ошибка - нужен TCP/IP. часто используется в чатах.

moka 18.06.2011 22:13

Ответ: Сетевое программирование
 
Многие решения (библиотеки, например RakNet), используют UDP, но реализуют поверх механизмы удостоверения доставки, и сортирования пакетов. Зачастую, при их наличии, скорость работы с UDP и TCP почти не различается.
Насчёт скорости доставки пакетов в UDP - приемущество есть, но оно почти никогда просто так не оправдывается..

В основе различий, лежит то что TCP - устанавливает логическое соединение, при разрыве которых, оба конца здают об этом. В UDP же, посылаются пакеты "вникуда", и даже выход клиента, отследить можно только пингуя с сервера, клиент (пустить пакет запроса пустого пакета, и ждать ответа, если долго нету - он вышел).
Также в UDP, можно реализовать массовую рассылку пакета (сразу в несколько аддресатов), что в TCP не реализуемо. Правда эта фича редко юзается, т.к. обычно нужен индивидуальный подход к каждому клиенту.

В общем, имхо, но с UDP неоправдано больше мудохи, и гемора, которого с TCP нету. TCP стабильнее с точки зрения разработки, и надёжнее.

Lestar 04.07.2011 00:01

Ответ: Сетевое программирование
 
Существуют ли прецеденты запуска сетевых приложений(5-10к CCU) под mono на nix системах ? Или в таких случаях однозначно выбирается win платформа ?

moka 04.07.2011 13:45

Ответ: Сетевое программирование
 
Думаю здесь оба пойдут. Дело твоё. На nix системах есть более актуальные языки и инструменты для сетевой разработки. А покуда пишешь на Mono, то тут думаю не сильно важно. 5-10к, это не мало, и тут больше вопрос подхода к разработке, нежели платформе хостинга сервера.


Часовой пояс GMT +4, время: 06:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot