双IP计算机运行Remoting服务端的问题

netcoder 2009-12-11 03:38:27
先说一下情况:
Channel类型:TCP,端口9999
对象类型:WellKnownObjectMode.Singleton
服务端有一块网卡,两个IP地址:192.168.0.1(内网) 和 172.17.0.1(外网IP,虚构的)

服务端软件启动后,虽然可以同时在两个IP地址侦听,192和172两个网段的客户端(分别指定服务端的内、外网IP地址)在第一次调用远程对象的时候都是成功,但第二次调用远程对象的时候,只有内网或者外网的客户端能调用成功。
比如一个外网客户端使用172.17.0.1创建了远程对象,第一次调用是成功的,但这个客户端在第二次调用这个远程对象的时候却失败了,经调试,发现第二次调用时,这个客户端使用的IP地址是192.168.0.1,也就是说第一次调用远程对象的时候,服务端把自己的192.168.0.1地址带到了客户端,客户端在第二次调用的时候就使用了那个地址,我再用代码说明一下:

//创建远程对象
CRoot robj = (CRoot)Activator.GetObject(typeof(CRoot), "tcp://172.17.0.1:9999/CRoot");
//第一次调用,成功
robj.Test1();
//第二次调用失败,这次调用竟然使用的地址192.168.0.1



robj.Test2();


如何端该如何做,才能使两个网段的客户端软件都能正常运行,并且使用同一端口9000。
...全文
70 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2009-12-11
  • 打赏
  • 举报
回复
[size=100px]刚一会就沉了,也太快了![/size]

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧