На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
    > Два соединения для коннекта клиента-сервера?
      JoeUser
      Цитата JoeUser @
      "если есть возможность в архитектуре приложения использовать блокируемые сокеты, то лучше использовать их, а не неблокируемые". Правильно ли это?

      Для новичков лучше использовать блокирующие. Так как если вы будете использовать неблокирующие, то вам придётся делать синхронизацию. Синхронизация это по любому блокировка.
      Встаёт вопрос зачем делать блокировки самому когда они есть готовые? Ответ прост вы можете уменьшить их число и время простоя. Для этого вы должны знать теорию транзакций.
      Ах да теория транзакций не описана в одной книге или одной статье. Что-бы её освоить мне пришлось собрать крупицы знаний из не менее чем 5 статей.

      Цитата JoeUser @

      Часто возникает ситуация, когда одна из сторон (клиент или/и сервер) долго обрабатывают поставленную задачу. Стандартный способ - использование тайм-аутов.

      Если протокол чужой и в нем не продуманы транзакции, то вам придётся городить параллельность. А в параллельности всё равно есть блокировки. А с ней никто грамотно работать не умеет, кроме меня :tong:.
        Цитата Олег М @
        И в чём же было их преимущество, в твоём случае, перед блокирующими?

        Предположим, необходимо срочно завершить приложение, а "connect" блокирующий.
        Когда он закончится - не известно.
        В результате, нельзя даже завершить приложение по своему желанию. =:0
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0193 ]   [ 17 queries used ]   [ Generated: 29.03.24, 09:08 GMT ]