http://topic.csdn.net/u/20080707/18/bcc85e15-7cb4-4eb3-b6df-5cfbc97a07af.html?seed=1563197691本来是想用花生壳的,但现在他要收费了,所以就不用了
现在的问题是
如何在客户端A 去 取另一客户端B的数据 或B->A我的想法是
先在公网放一个网站,用HashTable来保存下面的客户端的IP然后客户端下面的服务器建立一个网站
编写Data.asmx WebService 来取相应要的数据
把路由器80映射到这台机子
然后在IIS的这个网站启动的时候去更新公网的网站的HashTable中的他的IP

A:启动时访问public网站 public网站得到他的IP为 211.147.225.11
B:启动时访问public网站 public网站得到他的IP为 61.14.25.113然后如果A想访问B的数据的话,就先找到B这个网的IP
然后就访问B.WebService 如 http://61.14.25.113/WebService/Data.asmx
大家觉得这个方法可行吗???

解决方案 »

  1.   

    这个方法是可行,但是比较烦锁,需要每个客户端架设iis.还需要知道客户端的公网地址加端口映射.
    上贴中有个人的建议不错.就是客户端启动一个程序,与服务器端建议长连接.直接通信.就像qq都登录服务器,服务器可取qq机器上的任意数据,而不需要qq客户端的公网ip和端口映射.
      

  2.   

    RE:幕白兄
    上贴中有个人的建议不错.就是客户端启动一个程序,与服务器端建议长连接.直接通信
    -----------------------------------------------------------------------
    我也知道这个方法会更好但是因为我只会用ASP.NET
    WinForm只是皮毛 所以只能用ASP.NET的解决方法如果我上面的方法可行的话,.. 那用ASP.NET还有没有更方便的方法呢谢谢
      

  3.   

    另一种方法asp.net+winform
    服务器用aps.net + webservice.客户端用个简单的winform(这个肯定会)调用服务器的webservice定时更新数据.优点是不用端口映射,缺点是数据不是实时.