但是我发现,所谓的服务端,是一直自动检测客户端信息的,那么就需要一个一直运行的应用程序(未必是exe)在服务端运行。 服务器端都是这样的,就是一直监听端口,如果有请求,就处理

解决方案 »

  1.   

    这是服务器推送技术。其实就是客户端在登录后,向服务器发出了请求,服务器端得到了客户端的ip地址。然后服务器端每隔一段时间去检测下客户端的情况。在C/S模式的程序中这很常见。比如那些反向连接技术的木马。在B/S中,由于HTTP协议的缘故,客户端与服务器端每一次交互经过三次握手后就断开,并不保持连接。所以如果需要实现C/S的那种看似"实时连接"的方式,就要使用服务器推送技术了。如google的gmail中的gtalk就是典型。要实现的话需要你自己修改web服务器的源代码,你可以去google下这方面资料。另外说一下,这种方式对服务器的压力相当相当大,没有好的服务器群组,想都别想。
      

  2.   

    我想你说的问题应该是B/S与C/S的一些基本的区别吧。我以前想用PHP写游戏的,也考虑过这个问题,希望对你有用。共同点:客户端与服务端都保持联系,互相通信
    不同点:C/S服务端可以主动地向客户端发送信息,而B/S的服务端只能在收到来自客户端的请求后才会向客户端发送信息。综上,才有了AJAX的说法。欢迎大家批评指正。
      

  3.   

    服务端是长期运得的
    实现方法就是无限循环,不停读取网络收到的封包并加以解读->处理->响应
    但不是死循环(那是失控的产物,是错误的)window本身就是一个无限循环