我编写一个用TCP传输的网络通讯程序,服务器程序放在一个具有动态IP的服务器上,客户端无法访问,请问如何解决?

解决方案 »

  1.   

    可以考虑添加一个通知机制,比如短信的方式,
    把IP地址发送到客户端。服务器开机之后发送获取的IP地址,如果IP地址动态改变也要把新的IP地址发送的客户端,客户端接收到IP之后开始连接
      

  2.   


    (首先申明不是广告哈~)
    http://www.3322.org/ 提供动态ip的域名绑定, 使用二级域名免费。顶级要收费比如你申请一个域名  myserver.3322.org
    只需要在你的动态IP的服务器上装个它的客户端,每当服务器的IP改变后它就在它的DNS解析中把 myserver.3322.org 映射到服务器的新IP这样你的客户端就 一直连接 myserver.3322.org 就可以了
      

  3.   

    借鉴无盘工作站过程,可否这样考虑?
    1、客户端启动,用UDP广播请求服务,还可以加一些特征码以示区分;
    2、服务器收到广播,回应自己的IP地址;
    3、客户端用回应的IP连接到服务器(派人去取现)。4、如果服务器IP地址发生变化,同样用广播通知所有的客户端重新连接;
      

  4.   


    如果是在局域网中,你也可以借鉴这样的思路, 服务器变ip后就通知dns更新,客户端也一直使用域名进行访问.
      

  5.   

    要有个dns服务器,动态解析
    其实就是一个有固定ip的服务器做一下解析
      

  6.   

    嗯,用域名的话,就是抓住一个固定特征。
    或者可以让 server在变动ip的时候,发出通知包
      

  7.   

    http://q.yesky.com/group/review-17640910.html还可以尝试下用dynamip配合完成
      

  8.   

    公网你怎么发广播只有局部网才行可以用动态与名,vicp花生壳就可以具体可以参考某些木马的代码 比如网络神偷之类的
      

  9.   

    用虚拟路由也行,服务器和客户机都登录获取一个虚拟IP,这个IP是固定的。