我正在研究在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,
西蒙