logo
Литература_1 / photon_old

Функции name_attach и PtAppAddInput()

Если возможно, Вам следует использовать для установки связи с другими процессами Photon'овскую коннекцию вместо функции name_attach(). Вы не можете использовать Photon'овскую коннекцию в следующих случаях:

Это касается равным образом как случая, когда Вы запускаете несколько сессий Photon'а на одной машине, так и случая, когда Ваша сессия Photon'а состоит из приложений, исполняющих на нескольких машинах и два соединяющихся процесса оказываются на различных машинах.

PtAppAddInput() и name_attach() обе пытаются создать канал с установками _NTO_CHF_COID_DISCONNECT и _NTO_CHF_DISCONNECT (см. "Справочник библиотечных функций QNX 6"). Если Ваше приложение вызывает обе функции, Вам надо позволить Photon'у использовать тот же канал, что и использует функция name_attach(), вызвав прежде всего функцию PhChannelAtach() таким образом:

PhChannelAtach(chid, -1, NULL);

перед вызовами функций name_attach() или PhAppAddInput(). Если Вы хотите создать отдельный канал для Photon'а, нет разницы, создаёте ли Вы его и передаёте его функции PhChannelAtach() до или после вызова name_attach(). Но имейте в виду, что поскольку определённые механизмы библиотеки Photon'а предполагают, что канал Photon'а имеет два установленных флага DISCONNECT, они могут неправильно работать, если это не так. Одним из таких механизмов является определение нарушенной связи (см. функции PtConnectionClientSetError() и PtConnectionServerSetError()) и всё, что зависит от этого механизма.

          1. Yandex.RTB R-A-252273-3
            Yandex.RTB R-A-252273-4