Главная страница
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.037 c
14-1085649835
Prohodil Mimo
2004-05-27 13:23
2004.06.13
Как присвоить значение переменной? :o)


3-1085271468
kochet
2004-05-23 04:17
2004.06.13
Импорт из нетипизированного файла в универсальный формат БД


1-1086177469
doma
2004-06-02 15:57
2004.06.13
Работа с *.dfm файлами


1-1085729482
Leaner
2004-05-28 11:31
2004.06.13
Как правильно освободить память ?


14-1085900129
YurikGl
2004-05-30 10:55
2004.06.13
Славянофилам - посвящается