今天,我们使用 WCFNetTcpBinding
在我们系统中的对等点之间进行通信。通信是双向的:每个对等点都有针对其他对等点打开的通道。
我们现在正在研究扩展我们的架构并引入两种“类型”的对等点:“公共”对等点可通过公共 Internet 访问,而“内部”对等点位于 NAT 后面。这样做的影响是内部对等体可以与公共对等体建立 TCP 连接,但反过来是不可能的。因此,公共对等点无法再与内部对等点建立连接。
由于 TCP 连接是对称的(一旦建立),我的计划是让内部对等点针对公共对等点建立所有必需的 TCP 套接字,然后让公共对等点使用其中一些套接字来建立到内部对等点的通道。但是,当使用 NetTcpBinding 时,WCF 会为我管理 TCP 套接字。
我是否必须编写新的传输来实现此行为,或者是否有替代方法?