Я изучаю возможность использования Peer 2 Peer вместе с WCF в приложении Windows для терминала EPoS.WCF IPv6 Endpoints
Приложение будет размещаться на нескольких ПК в локальной сети; там будет только один экземпляр приложения на ПК.
Мое настоящее мышление заключается в том, что мое приложение запускается и присоединяется к одноранговой сети, при входе в сетку оно периодически выкрикивает сообщение «heartbeat», которое содержит его идентификатор терминала и адрес IPv6.
Любые другие терминалы, соединяющие сетку, получают эти биения и сохраняют собственный список терминалов в сети.
Действия в приложении потребуют доступа к определенному терминалу в сети. Таким образом, приложение решает терминальный идентификатор адреса внутрибрюшинен и может генерировать Uri для доступа к услуге через net.tcp
Я опубликовал конечную точку службы с использованием локального адреса ссылки
printingHostRemote = New ServiceHost(printSpooler, New Uri("net.tcp://" & myNetworkAddress & "/" & ServiceNames.PrintingService))
printingHostRemote.AddServiceEndpoint(GetType(IPrintingService), tcpPipeBinding, "net.tcp://" & myNetworkAddress & "/" & ServiceNames.PrintingService)
строки для установки конечная точка будет представлять собой, например:
"net.tcp: // [FE80 :: 250: 56ff: FEC0: 8% 4]: 5555/ГСС-POS/PrintingService"
Однако, когда я попробуйте получить доступ к этой службе. Я получаю сообщение об ошибке, указывающее, что хост недоступен.
TCP код ошибки 10065: Операция с сокетом была предпринята попытка недоступного хоста fe80 :: 290: 5 и далее: FE01: 6303% 4: 5555
Я понимаю, что это до моего ограниченного знания адресации IPv6. Какой адрес я должен использовать для своей конечной точки (я использую локальный адрес IPv6 для ссылки)? Или моя общая концепция ошибочна?
ТИА,
Simon