我正在研究在EPOS終端的Windows應用程序中使用Peer 2 Peer和WCF的可能性。WCF IPv6端點
該應用程序將位於本地網絡中的一些PC上;每臺PC只會有一個應用程序實例。
我目前的想法是,我的應用程序啓動並加入對等網格,加入網格時,它週期性地發出包含其終端ID和IPv6地址的「心跳」消息。
加入網格的任何其他終端都會接收這些心跳並在網絡中維護自己的終端列表。
應用程序內的操作將需要訪問網絡上的特定終端。因此,應用程序解決了終端ID爲IP地址,並且可以生成一個URI使用鏈路本地地址
printingHostRemote = New ServiceHost(printSpooler, New Uri("net.tcp://" & myNetworkAddress & "/" & ServiceNames.PrintingService))
printingHostRemote.AddServiceEndpoint(GetType(IPrintingService), tcpPipeBinding, "net.tcp://" & myNetworkAddress & "/" & ServiceNames.PrintingService)
字符串設置通過的net.tcp訪問服務
我已經發布了服務端點端點將是,例如:
「的net.tcp:// [FE80 :: 250:56ff:FEC0:8%4]:5555/GSS-POS/PrintingService」
然而,當我嘗試訪問此服務我得到一個錯誤,說主機無法訪問。
TCP錯誤代碼10065:套接字操作嘗試一個無法連接的主機FE80 :: 290:5FF:FE01:6303%4:5555
我意識到這是記在我有限的IPv6尋址知識。我應該爲我的端點使用什麼地址(我正在使用鏈接本地IPv6地址)?或者我的整體概念有缺陷?
TIA,
西蒙