《如何搭建基于Internet间的实现实时通信?》帖子派生出来的问题22、使用webservice 
  最近才了解的,在c#下看了几个简单例子,能够实现web中的get,post的发放,实现请求和相应,估计java也应该能够实 
  现。和第一种比较,服务端架设个web应用程序,开发个接口页面接受请求就可以了。但我没有试过,关于这种模式重点想 
  知道它的实时性如何?时间延迟是否很大? …………

解决方案 »

  1.   

    这个要看需求
    webservice 只能做到一方不停的去调用另外一方 不能做到完全的实时
    socket可以实时
    数据发送量比较频使用消息队列
      

  2.   

    可以吧,百度HI网页版就是这个,用的是AJAX
      

  3.   

    webservice 和平台、环境没有太大关系。 假如你引用是运行效率底也是程序的问题。
    --矛盾的话,从原理上讲 java的执行效率高。
    web服务,现实世界大同,在任何一个地方 公布一个[WebMethod] 外部就可以使用。实现性,简单方便使用安全,也就是完全 没有问题。 
    效率--在这里不好理解,也不好解释。
      

  4.   

    Socket。有防火墙就HTTP。HTTP可以做到模拟实时。客户端可以发http请求到服务器端,服务器端hold该请求,直到将要超时,再返回。在这一过程中,如果有要给客户端的消息,可以立即返回。客户端收到返回的消息后,再次发起新请求……。即可模拟实时。
      

  5.   

    假如不考虑网络的问题,也不考虑服务器端的效率问题,只考虑开发实现的容易性和方案的可取性。据个游戏的例子,当然我只是做文本传输。A玩家砍我一刀,我这边马上响应出减掉50血。
    文本也一样,别人写个文档传给我,我马上能收到。
    那么如果用http这种方式,相应的很快吗?socket的小例子我做过,当然自己局域网内是非常快了,
    但如果发送量大的时候也能够很快相应吗?
      

  6.   

    webservice 是xml 格式 , 它可以穿透防火墙的。
      

  7.   

    建议使用WCF,我也正在研究,感觉那个很不错。
      

  8.   

    不考虑网络因素的东西,没办法拿出去用的。你如果直接问网游是怎么开发的,那可以告诉你,一般都是Socket上自己封协议实现的。比如A砍你一刀,会封装成A|你|刀,这样的数据包。然后加上序列号校验位,压缩,加密后,通过Socket连接发送到服务器上,服务器解密解压缩,再判断包是否合法,再做逻辑判断,比如你是否在A玩家的攻击范围内,A是否有刀这个武器等等,然后再根据刀的攻击力,你的防御力,把你减少50血算出来后,保存到服务器上,再包个数据包返回给你。
      

  9.   

    什么都别说了,楼主上开源网站下一个MSN的开源代码吧,C#的,如果找不着,我这里有一份,记得是Google的开源社区里就有.