Мне любопытно, как onConnect, connect и port.postMessage / onMessage должны себя вести, если есть несколько слушателей. В документации неясно, что происходит, и где происходит отключение.
Скажем, у меня есть три контекста (фоновая страница, скрипт содержимого и всплывающее окно действий браузера) - каждый при запуске зарегистрировал прослушиватель onConnect. Фоновая страница хочет отправить сообщение им обоим - могу ли я просто подключиться (), а затем отправить сообщение через порт? Что делать, если мне нужно подтверждение получения? Могу ли я сказать - port.postMessage ({receive: true}) в обоих контекстах, которые получили onConnect? Получу ли я два сообщения от парня, который подключен () ed? Получу ли я сообщение onConnect () на фоновой странице, где я позвонил connect ()?
Я прочитал http://code.google.com/chrome/extensions/messaging.html и http://code.google.com/chrome/extensions/extension.html# - они довольно ясно дают понять, как работают sendRequest и onRequest, но мне нужно подтверждение доставки, которое я не могу адекватно получить из SendRequest.
Мой вопрос сводится к следующему: сколько «концов» может быть для объекта Port и как он обрабатывает «разъединенные» вызовы от любого из концов?