Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Сокеты в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.155 c
4-1083930798
Санёк
2004-05-07 15:53
2004.06.13
При переключении фокуса пропадает курсор мыши, как заставить Wind


3-1085054697
Емахо!
2004-05-20 16:04
2004.06.13
Фильтрация данных


1-1085750136
Миссяй
2004-05-28 17:15
2004.06.13
Преобразование инкремента в spinedit


1-1086118292
SergP
2004-06-01 23:31
2004.06.13
With


8-1081022449
***VipeR***
2004-04-04 00:00
2004.06.13
Открытие/Закрытие CD/DVD привода