我对 .NET Remoting(VB 2010)有疑问。我制作了一个在本地网络中运行良好的客户端/服务器应用程序。当我在本地网络之外运行客户端时,我得到空对象返回或错误为“连接尝试失败,因为连接方没有正确响应 192.168.5.60:9100”
我在路由器上有 NAT 规则,Windows 防火墙不会阻止任何一方的应用程序。问题是,从我连接到公共 IP 的客户端,路由器转发到服务器。然后下次客户端调用服务器的本地 IP 这是一个不同的网络,并且连接失败并给出上述错误。为什么客户端在后续调用中连接到服务器的本地 IP?有人可以帮我解决这个问题。我两端都没有任何 app.config 文件。编辑:我没有任何防火墙服务器,只是正常设置 ROUTER > SERVER(LAN)。
客户代码:
Dim URI as string = " tcp://109.120.24.82:8100/FTObj"
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off
tcpChannel = New Tcp.TcpChannel(9100)
ChannelServices.RegisterChannel(tcpChannel, False)
Dim FTFactoryObj As IFTFactory.IFTFactory = DirectCast(Activator.GetObject(GetType(IFTFactory.IFTFactory), URI), IFTFactory.IFTFactory)
IFTObjC = FTFactoryObj.createFTObj
服务器代码:
tcpChannel = New Tcp.TcpChannel(9100)
ChannelServices.RegisterChannel(tcpChannel, False)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(FTFactory.FTFactory), FTConfig.ServerAppObject, WellKnownObjectMode.Singleton)