Главная страница
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.053 c
1-1085824554
Oleg
2004-05-29 13:55
2004.06.13
Простой алгоритм шифрования


3-1085143540
Бульбаш
2004-05-21 16:45
2004.06.13
Есть ли грид с возможностью группировки данных


1-1086020756
Moroz
2004-05-31 20:25
2004.06.13
Прототип функции


1-1086163553
rulezz
2004-06-02 12:05
2004.06.13
количество символов в Memo


6-1082487800
Valerik
2004-04-20 23:03
2004.06.13
ServerSocket обрыв соединения?