战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

    我的项目中由于还没有加入转发服务器,因此暂时有3台对外服务器,服务器与服务器之间暂时用内网连接,今天将服务器放到双网卡的服务器,发现竟然将服务器内网地址告诉给客户端来连接,很明显这是错的!

    马上着手解决这个问题:是否可以根据配置,对某几条连接自动从gethostname中获取到内网或者外网地址?事实证明是错误的!这里有一个例子:

    某公司的电话只能对内打,对外打只能靠私人手机。如果 A正在用私人手机跟公司外的B打电话,此时,B想打C的手机,但是B不知道C的号码。但同时,A只知道C的内线号,但不知道其手机。这种情况下,B只有找公司的前台D要到 C的手机号,因为A,C在进入公司时就已经注册过他们的手机号。这样,B就成功的打通了C的手机号。

    这是一种解决方法,也就是说,在现有的服务器管理的上层,再做一层平台服务器,其他服务器到这台服务器获得自己在外网的地址,然后对需要进行外网联系的服务器组和客户端之间传输使用外网地址。

 

    还有一种方法:

        C首先将自己的手机号告诉A,之后B与A联系后,得到C的手机号,而不是其内网号,即可联通

    这种方法的原理就是:将要让客户端转接的某台服务器的地址的公网ip保存在配置文件里,在读取后将这个地址告诉给列表服务器,这样客户端连过来就会获得一个正确的外网地址

posted on 2009-05-14 22:32 战魂小筑 阅读(363) 评论(0)  编辑 收藏 引用 所属分类: 网络 服务器技术

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理