android,心跳,服务器,来android大神,最好是懂服务器的,没找到合适的板块发,只好来这里了 android的心跳,之前是用的udp,但是这没法做消息推送,只能客户端主动去轮寻,所以要用长链接,那别的方面您还有经验可以分享下吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是想做一个专门的服务器,一直维持着android客户端的长连接,推送消息给客户端,做即时通信 维持更多的连接 1. 要有较好的硬件系统,内存,CPU, 操作系统 64位2. apache mina并没有限制多少个连接数,如果要保存所有的mina 客户端session 需要及时释放断开的session,减少资源消耗,提高性能。 我之前做的apache mina长连接, 同时维持3000用户长连接 都没问题。 必须完全重新写吗?在其他服务器上改不行吗?Openfire,ejabberd 这些并发数都很高的 我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题 我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连? 我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?客户端连服务器时服务器记录客户端的IP地址 请问下,您是怎么做到判断session是否失效了呢,是用mina自带的sessionClosed这个方法?顺便问下,我们有台Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz 4核 8G内存的服务器,您觉得最多能同时维持多少用户,一台,再问点,你有经验,我多问点,操作系统上有需要设置或者做的吗?会不会有连接数限制,而且我们的服务器是双网卡,这个可以利用吗? 1k,其实我们现在一个用户都还没有,但是我头儿肯定不会满足1K这个数字的,据说极光推送能到达峰值300W,1K实在太小了 我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的 我们是这样做的,在客户端(android)上面建立TCP的监听,然后server主动连客户端进行推送,客户端要连接服务端的话也是服务端有监听,客户端主动连,不用了立马断开,这样就能解决荷载重的问题客户端连服务器时倒是好说,因为服务器地址固定的,但是您说的服务器要推送时,主动去连客户端,可是客户端地址不是固定的,怎么连?客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的首先,肯定是确保有网络的情况下客户端和服务器才能通信,所以肯定是需要你客户端在本地的IP变化后都需要主动通知服务器的 长连接其实不需要知道客户端的IP,因为一直连着 服务器和客户端是一条链子困在一起的。如果断开了,客户端需要主动练服务器,再次建立,然后长期保持不断开 就OK。如果做推送 需要阻塞服务器的线程,这样服务器发现有数据可以立即发送给客户端,但需要阻塞服务器端的线程,这样的话 一般一台电脑开5000个线程阻塞 就差不多了(根据一般的硬件配置)。http://blog.csdn.net/birdsaction/article/details/12612441 你所说的极光推送的原理:http://blog.csdn.net/xieebajinzhi/article/details/9445281,最多也就每台服务期300万连接,你要是有1亿的用户,要30台服务器,还得有备机,数据库服务器,负载均衡服务器,........... 关于android 逻辑业务分离(菜鸟勿进) android 把屏幕截屏后可以涂鸦。 URI与URL区别 在android 获取 快捷键 的名称和图标 下拉刷新的问题 android模拟器分辨率问题 异常求解 Android怎么做网络数据检索? 如何解决: E/AndroidRuntime:java.lang.NulPointerException 顿感自己弱爆了 sharedPreferences跨应用使用 emulator-arm.exe运行提示“已停止工作”问题解决办法 TextView如何显示带<image>标签的文本?
维持更多的连接
1. 要有较好的硬件系统,内存,CPU, 操作系统 64位
2. apache mina并没有限制多少个连接数,如果要保存所有的mina 客户端session 需要及时释放断开的session,减少资源消耗,提高性能。
Openfire,ejabberd 这些并发数都很高的
客户端连服务器时服务器记录客户端的IP地址
客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的
客户端连服务器时服务器记录客户端的IP地址android在没有WIFI的情况下,地址很快就会变的
首先,肯定是确保有网络的情况下客户端和服务器才能通信,所以肯定是需要你客户端在本地的IP变化后都需要主动通知服务器的
如果断开了,客户端需要主动练服务器,再次建立,然后长期保持不断开 就OK。
如果做推送 需要阻塞服务器的线程,这样服务器发现有数据可以立即发送给客户端,但需要阻塞服务器端的线程,这样的话 一般一台电脑开5000个线程阻塞 就差不多了(根据一般的硬件配置)。http://blog.csdn.net/birdsaction/article/details/12612441