android的心跳,之前是用的udp,但是这没法做消息推送,只能客户端主动去轮寻,所以要用长链接,那别的方面您还有经验可以分享下吗?

解决方案 »

  1.   

    就是想做一个专门的服务器,一直维持着android客户端的长连接,推送消息给客户端,做即时通信
      

  2.   


    维持更多的连接 
    1. 要有较好的硬件系统,内存,CPU, 操作系统 64位
    2. apache mina并没有限制多少个连接数,如果要保存所有的mina 客户端session 需要及时释放断开的session,减少资源消耗,提高性能。
      

  3.   

    我之前做的apache mina长连接, 同时维持3000用户长连接 都没问题。
      

  4.   

    必须完全重新写吗?在其他服务器上改不行吗?
    Openfire,ejabberd 这些并发数都很高的
      

  5.   

    我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题
      

  6.   

    我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?
      

  7.   

    我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?
    客户端连服务器时服务器记录客户端的IP地址
      

  8.   

    请问下,您是怎么做到判断session是否失效了呢,是用mina自带的sessionClosed这个方法?顺便问下,我们有台Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz 4核 8G内存的服务器,您觉得最多能同时维持多少用户,一台,再问点,你有经验,我多问点,操作系统上有需要设置或者做的吗?会不会有连接数限制,而且我们的服务器是双网卡,这个可以利用吗?
      

  9.   

    1k,其实我们现在一个用户都还没有,但是我头儿肯定不会满足1K这个数字的,据说极光推送能到达峰值300W,1K实在太小了
      

  10.   

    我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?
    客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的
      

  11.   

    我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?
    客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的
    首先,肯定是确保有网络的情况下客户端和服务器才能通信,所以肯定是需要你客户端在本地的IP变化后都需要主动通知服务器的
      

  12.   

    长连接其实不需要知道客户端的IP,因为一直连着 服务器和客户端是一条链子困在一起的。
    如果断开了,客户端需要主动练服务器,再次建立,然后长期保持不断开 就OK。
    如果做推送 需要阻塞服务器的线程,这样服务器发现有数据可以立即发送给客户端,但需要阻塞服务器端的线程,这样的话 一般一台电脑开5000个线程阻塞 就差不多了(根据一般的硬件配置)。http://blog.csdn.net/birdsaction/article/details/12612441
      

  13.   

    你所说的极光推送的原理:http://blog.csdn.net/xieebajinzhi/article/details/9445281,最多也就每台服务期300万连接,你要是有1亿的用户,要30台服务器,还得有备机,数据库服务器,负载均衡服务器,...........