首页 新闻 赞助 找找看

Remoting中Activator.GetObject方法执行原理,客户端跟服务端的端口号不一致也能执行吗?

1
悬赏园豆:20 [已解决问题] 解决于 2014-09-28 15:20

这是单位里的老代码了,我一直搞不明白哪里出了问题,跟我以前理解的客户端如果要访问服务端的remoting必须端口号一致不一样了。

望高手指教指教。

 

服务端端核心代码

客户端核心代码

问题补充:

如果图片看不清除的话,还请用鼠标点击图片后往旁边一拖重新打开一个网页就能看清图了

小也的主页 小也 | 初学一级 | 园豆:75
提问于:2014-09-19 16:00
< >
分享
最佳答案
0

1、端口是否一致不重要,重要的是客户端的请求能达到服务器端。

2、客户端请求的端口与服务端服务的端口不一致,肯定不能联通

3、当端口不一致的时候,有很多种可能,其中之一是中间路由转发导致的

4、有时,写死在代码里的端口不可信,要看配置,服务的请求与启动的端口一般来说是受配置文件(一般放在config文件中),你的代码看起来是写死的,但是否存在其它可能是读取配置的呢?

5、上面的代码,明显是测试用的(还localhost呢),这个做不得数。

收获园豆:20
519740105 | 大侠五级 |园豆:5810 | 2014-09-19 17:07

哈哈,好眼力。

对1、3点还望再更深的指点一下,随后我也做个测试。

这个项目的端口就是在config中配置的

客户端获取配置

 

我们这个项目就是用的localhost,这个也有影响吗?

小也 | 园豆:75 (初学一级) | 2014-09-19 17:29

@小也: 没影响。只是看到这个就感觉不是正式发布的。要不,也不会用localhost了,即便是在内网也一样。

519740105 | 园豆:5810 (大侠五级) | 2014-09-19 19:04

@519740105: 不好意思,刚想起还有个问题搞不明白呢。

“端口是否一致不重要,重要的是客户端的请求能达到服务器端。”

这个有例子吗?我把客户端的端口号改了后根本就不执行客户端的方法了。是不是哪里需要改呢?

有没有例子可以学习下啊。

还有一个问题,客户端能不能把服务器端remoting的所有端口号列出来呢?

小也 | 园豆:75 (初学一级) | 2014-09-22 17:47

@小也: 当然端口要一致,我说的不一致的情形是服务器端可能通过路由器之类的设备或软件进行了网络映射,这样,客户端请求的端口与实际服务的端口就可能不一致了。

实际上,即便有这样的映射,也最好做到一致,否则,在系统管理与维护上会遇到很多麻烦。

519740105 | 园豆:5810 (大侠五级) | 2014-09-22 18:11

@519740105: 这就又出现了最开始的问题:端口号不一致,并且访问的objectUrl也不一致,可是为什么就访问成功了呢?应该没有网络映射。或者说如果有网络映射,方便帮我搞一个demo吗?

小也 | 园豆:75 (初学一级) | 2014-09-23 14:45

@小也: 这个问题就复杂了,都10年前弄remoting了。

519740105 | 园豆:5810 (大侠五级) | 2014-09-23 14:47

@519740105: 这怎么办啊?现在的问题是,同一个端口登陆方法能访问成功,下单方法就报错“由于目标计算机积极拒绝,无法连接”的错误

小也 | 园豆:75 (初学一级) | 2014-09-23 14:53

@小也: 这个问题是多方面的,不是三言两语臆测就能解决的。

你把服务使用相同的端口试下?

实在不行,你得找之前的开发人员协助。

519740105 | 园豆:5810 (大侠五级) | 2014-09-23 15:05

@519740105: 改成remoting服务端对应的端口后 “报找不到请求的服务”。

我再联系联系值钱的同事吧

小也 | 园豆:75 (初学一级) | 2014-09-23 15:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册