Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
ВнизСокеты в Unix Найти похожие ветки
← →
Daniel (2004-04-25 11:18) [0]Мне придется соединяться с программой, работающей под UNIX. Я слышал, там работает только один режим - синхронный или асинхронный. Какой из них? И, насколько я понимаю, Winsocket там уже неработает, значит надо использовать что-то другое?
P.S. На машине, где запускает моя программа, стоит Win.
← →
Verg © (2004-04-25 11:59) [1]Грубо говоря в -nix-ах два режима сокетов - блокирующий и неблокирующий.
Но это тебя не должно беспокоить никоим образом. Со стороны сети протокол-то тот же: TCP/IP, UDP/IP и т.д.
← →
Daniel (2004-04-25 13:23) [2]Извиняюсь за ламерский вопрос: характеристика "blocking-notblocking" связана с характеристикой "синхронный-асинхронный"?
← →
Verg © (2004-04-25 13:43) [3]
> Daniel (25.04.04 13:23) [2]
Это вопрос терминологический. Я пользуюсь такими понятиями:
Режимы у сокетов бывают.:
1. блокируемый (будем ждать завершения операции (какой бы долгой она не была) или в некоторых случаях можно применить мультиплексирование (select))
2. неблокируемый (операция началась, но возможно не завершилась и результаты завершения операции надо проверять самому, отдельыми вызовами (опросами или мультиплексированием)
2.1 асинхронный (опреация началась, а об ее завершении ядро сообщит отдельно (оконное сообщение, сигнал-event, или еще как-то) мультиплексирование не применяется (has no effect)
Таким образом - асинхронный режим - это разновидность (более продвинутая) неблокируемого режима.
Все это лишь способы взаимодействия приложений с сетвеым ядром.
Куда отнести "синхронный" - я не знаю, да и зачем его куда-то относить?
← →
Digitman © (2004-04-25 13:53) [4]
> Daniel (25.04.04 11:18)
для простоты в первом приближении можно считать, что термины "блокирующий" и "синхронный" - синонимы
хотя, если быть более точным, "блокирующий/неблокирующий" относится к режиму работы объекта и его интерфейсных вызовов, в то время как "синхронный/асинхронный" относится к алгоритму, работающему с объектом и его интерфейсными вызовами
использование неблокирующего режима подразумевает организацию либо синхронного ("линейного") алгоритма (с мультиплексированием или без) либо асинхронного алгоритма ("нелинейного", с нотификациями того или иного вида)
← →
Daniel (2004-04-25 14:20) [5]Я правильно понимаю, что блокирующий/неблокирующий/асинхронный - эти режимы каждый определяет сам на СВОЕЙ стороне и, вообще говоря, двое участников коннекта могут работать в РАЗНЫХ режимах, а то значит, что я могу использовать Winsocket при работет с *nix сервером?
← →
Digitman © (2004-04-25 14:26) [6]
> Daniel
да, каждая сторона соединения вольна выбирать допустимые режимы на свой вкус и под свои потребности - на работе другой стороны это никак не отражается
← →
Daniel (2004-04-25 17:39) [7]Спасибо всем огромное. Разобрался.
← →
Daniel (2004-04-25 17:41) [8]Спасибо всем огромное. Разобрался.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c