Конференция "WinAPI" » CreateNamedPipe ?
 
  • Badland © (01.04.11 17:29) [0]
    Доброго времени суток.
    Есть задачка:
    Один процесс(клиент) должен получить целочисленный тип длиной 8-10 символов у другого(сервер).
    И клиент и сервер на одной машине. (Хотя в дальнейшем планируется разведение в локальную сеть, не дальше )
    Сервер может быть как запущен так и не запущен.
    Задача сервера в этом случае, запуститься, слить куда - то эти данные и забыть о них.

    Вот полез в сторону именованных пайпов, но кажется, это не лучший способ)
    Подскажите способы решения плиз )
    Вообще какие есть способы общения между процессами для передачи данных?
    Спасибо )
  • Badland © (01.04.11 17:34) [1]
    Опишу даж полностью для ясности )) Мож найдутся альтернативы)
    Вообщем на удаленной машине есть сервер. После авторизации на нем он выдает хеш который и хранит 1процесс. И при каждом обращении к удаленному серверу подставляет хеш, чтобы сервер его узнавал.
    Второй процесс должен тоже работать с удаленным сервером. Причем с правами того сеанса которые есть у первого процесса. Для этого ему нужно получить хеш первого процесса, который уже авторизован.
    Пишу я все три части, чтобы вы не подумали, что я тут что - то ломаю )))
    Ну голову разве - что ))
    Вот.. собственно в задумчивости как же передавать хеш из первого процесса второму )
  • DVM © (01.04.11 17:41) [2]

    > Вообще какие есть способы общения между процессами для передачи
    > данных?

    http://en.wikipedia.org/wiki/Interprocess_communication
  • clickmaker © (01.04.11 17:44) [3]
    > Второй процесс должен тоже работать с удаленным сервером.
    > Причем с правами того сеанса которые есть у первого процесса.
    > Для этого ему нужно получить хеш первого процесса, который
    > уже авторизован

    а если 1-й процесс уже завершился?
  • Badland © (01.04.11 17:52) [4]
    clickmaker

    Второй процесс зависим всегда от первого. Ему нет смысла работать если не запущен и не авторизован первый процесс. Это не важно по сути дела)

    DVM
    пасиб ))
    Да похоже Пайпы все таки то, что надо )
  • Badland © (01.04.11 17:56) [5]
    вот правда посматриваю в сторону шаред мемори, можно там как - то сделать чтобы создавалось по имени ? .. йолки ) Не хватает терминов чтобы написать правильно )
    Надо чтобы второй процесс всегда знал откуда и что читать ))
    Например при виртуал алоке возвращается адресс, как его передать второму процессу ?)
  • Badland © (01.04.11 18:01) [6]
    Еще схожая задача по ходу ))
    Есть несколько процессов. И, так сказать, один папка )
    Так вот папке все должны докладывать о происходящих у них событиях )
    Папка может быть как на одной машине с мелкими так и в локалке с ними. Причем мелкие тоже могут быть по локале разбросаны.
    Я читал, что вроде пайпы могут по локальной сети работать, думал убить двух зайцев одной технологией )

    Правда ковырял давненько эмулятор LineAge там вообще замудрили... каждый процесс открывает по три порта и все общение по ним происходит. На мой взгляд можно заморочиться очень )
  • DVM © (01.04.11 18:02) [7]

    > вот правда посматриваю в сторону шаред мемори, можно там
    > как - то сделать чтобы создавалось по имени ?

    можно
  • clickmaker © (01.04.11 18:03) [8]
    > пайпы могут по локальной сети работать

    могут


    > Папка может быть как на одной машине с мелкими так и в локалке
    > с ними

    Share
  • Badland © (01.04.11 18:04) [9]
    Спасибо )

    В целом получается, что я в правильном направлении ?)))
  • Badland © (01.04.11 18:06) [10]
    Да, и последнее на сегодня )

    Я так понял, что читать и писать нельзя в пайп если обе стороны не приконнектились ?
  • DVM © (01.04.11 18:08) [11]

    > Badland ©   (01.04.11 18:06) [10]

    http://www.delphimaster.ru/articles/named_pipes/
  • Badland © (01.04.11 18:09) [12]
    да да) Именно это я и грызу ))
  • DVM © (01.04.11 18:10) [13]

    > Badland ©

    так там написано про все что ты спрашиваешь
  • Rouse_ © (01.04.11 19:16) [14]
    Это еще можешь глянуть до кучи: http://rouse.drkb.ru/network.php#fwiocompletionpipe
  • Badland © (02.04.11 15:56) [15]
    Всем спасибы. Завертелось ))
Есть новые Нет новых   [134431   +12][b:0][p:0.001]