是否无法通过NetTcpBinding指定用于服务器调用的本地客户端端口?
NetPeerTcpBinding支持这一点 - 我发现很难相信没有办法在客户端上指定本地端口(以及IP地址)。
我需要能够使用端口共享,如果我不知道客户端正在侦听哪个端口,我就不能这样做。我将无法与另一个客户端共享端口(和IP),因此可以连接。
我找到的唯一解决办法就是:
我认为这称为TCP / IP NAT打孔。有经验的人吗?
答案 0 :(得分:2)
您可能无法理解NetTcpBinding
的通信模式。它的工作原理如下:
服务器永远不会打开与客户端的连接。客户端不会公开任何带有端口的地址以进行通信。如果要这样做,必须以与在服务器上执行服务相同的方式在客户端上实现服务,并且必须手动将地址和端口发送到服务器公开的服务。
与NetPeerTcpBinding
的区别在于没有真正的服务器,任何客户端都必须能够获得请求。 NetTcpBinding
用于客户端 - 服务器方案,其中服务器是唯一能够处理收到请求的对等方。因此,只有服务器需要定义地址和端口。