2009-12-23 2 views
1

Я изучаю возможность использования 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

ответ

0

Хорошо, я думаю, я понимаю это сейчас.

У моей машины разработки установлен VMWare и поэтому имеет два других сетевых интерфейса. Мне нужно добавить область интерфейса локальной сети, которую я хочу использовать для IP6-адреса удаленной машины.

0

Я на самом деле в настоящее время запускаю клиент/сервер (сетевой уровень)/настройку базы данных. Я написал как бизнес-решение, а интернет-сайт моего делового партнера (Comcast) настроил его таким образом, что IPV6 является только так, как он может получить доступ к вещам внутри своего lan и раньше, только снаружи IPV4. Мне удалось сопоставить его с правильным адресом машины и IPV6 работал с обеих сторон, но то, что вы описываете ... это то, что я испытывал с необработанным адресом IPV6. Я создал запись AAAA для имени домена, которое я использую, и порт перенаправил его на правильный компьютер на маршрутизаторе ... если вы это сделаете, то после его разрешения он будет работать, но вы не сможете использовать шестнадцатеричный код, вы должны используйте имя домена. Или, по крайней мере, так оно и было для меня. Мне было бы интересно узнать, почему он не будет принимать гексагорный адрес.