server可以处理多个client的请求,
Server按实际需要在不确定的时候给特定的CLIENT发送信息,*Server给Client 发送数据 的触发 条件 与 Client 的请求无关*小弟愚昧,请问该如何实现 ? 

解决方案 »

  1.   

    SOCKET基本功能实现 服务器多线程接收和发送。
      

  2.   

    建议采用 NIO,可以google下 相关实例
      

  3.   

    你这个问题缺乏些背景信息,想帮你的人可能都不知道怎么回答你,几个问题:
    ◎ Server 和 Client 是在局域网内,还是都在互联网上的?
    ◎ Client是固定数量的,还是随机变化的?
    ◎ Client数量规模是数十、数百、数万、数百万?
    ◎ Server给Client发送信息的时效性要求是否很高?
      

  4.   


    1.在互联网内
    2.Client 是随机的
    3.规模数千吧
    4.实时性不是很高能给个思路或代码么?  
      

  5.   


    SERVER 是好办 ,CLient 端不会啊
      

  6.   

    你的需求简单点说:就是希望能给互联网上的某些用户发点短消息。此类需求一般分为两种实现模型:
    ◎ Pull模型,也即客户端定期询问服务器:“有没有我的短消息啊?”
    —— 缺点:消息实时性由客户端请求频度决定;请求频度越高服务器压力越大。
    —— 优点:基本没有什么特殊限制。◎ Push模型,也即服务器主动将信息投送给客户端,比较烦,又分为两种:
    ◎ Push长连接模型,客户端登录服务器,并保持连接不断,意外中断则立即重连接
    —— 缺点:客户端需要跟服务器保持长连接,服务器连接开销大;
    —— 优点:对客户端要求不高,消息实时性高;
    ◎ Push数据包模型,客户端登录服务器后,服务器记录客户端IP地址,有消息就直接按IP投递
    —— 缺点:客户端需要直接拥有互联网IP,共享上网之类的统统灭绝了;
    —— 优点:服务器资源开销小,消息实时性高。
    你的规模数千,对性能要求不算高,所以几类模型都可以。看看你还有没有进一步的衍生问题?
      

  7.   

    我感觉push长连接和高频度pull已经没啥本质区别了
      

  8.   

    *Server给Client 发送数据 的触发 条件 与 Client 的请求无关*
    有这个条件就应该用长连接把。
      

  9.   


    有没些代码借来参考参考?[email protected]