WebSocket protocol 是HTML5一种新的协议。它是实现了浏览器与服务器全双工通信(full-duplex)。 现 很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回.....
分类:
Web程序 时间:
2014-12-18 00:05:38
阅读次数:
302
非阻塞式的 I/O 是进程调用 I/O 操作时,若数据未准备就绪,则立即返回一个 EWOULDBLOCK 错误,在数据准备就绪之前,应用进程采用轮询的方式检查数据是否准备就绪。直到数据准备就绪,则内核把该数据复制到应用进程的缓冲区,完成数据复制之前进程处于阻塞状态,直到数据复制完成后才返回。即 I/O 操作第一阶段处于轮询检查状态,第二阶段处于阻塞状态。...
分类:
其他好文 时间:
2014-12-17 09:07:32
阅读次数:
251
引言: 相比于select,Epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024 表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这...
分类:
系统相关 时间:
2014-12-14 12:00:20
阅读次数:
412
socket.io是一个简单的小类库,该类库实现的功能类似于node中的net模块所实现的功能.这些功能包括websocket通信,xhr轮询,jsonp轮询等.socket类库可以接受所有与服务器端相连接的客户端发送的消息,也可以向这些客户端发送消息.该类库的一个显著特征是在服务器端与浏览器端之间...
分类:
其他好文 时间:
2014-12-13 14:56:54
阅读次数:
159
本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理)。如果Nginx是以反向代理...
分类:
其他好文 时间:
2014-12-13 00:47:58
阅读次数:
301
在MongoDB副本集中,主节点负责处理客户端的读写请求,备份节点则负责映射主节点的数据。备份节点的工作原理过程可以大致描述为,备份节点定期轮询主节点上的数据操作,然后对自己的数据副本进行这些操作,从而保证跟主节点的数据同步。至于主节点上的所有数据库状态改变的操作,都会存放在一张特定的系统表中。备份...
分类:
数据库 时间:
2014-12-10 00:27:27
阅读次数:
605
转自:http://kb.cnblogs.com/page/112616/前言 时至今日,用户期待的是可通过web访问快速、动态的应用。这一文章系列展示了如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用。该系列的第1部分介绍了反向Ajax、轮询(polling)、流(....
分类:
Web程序 时间:
2014-12-08 17:14:20
阅读次数:
352
部门准备开发一个项目,这个项目其中一个模块内部实现需要用到队列来实现各小模块内部通讯,
为了实现高效的数据传输模式,决定放弃轮询的方式,改用阻塞方式实现一个循环队列。后来项目
取消了,但该部分代码也写好测试成功了,不想浪费了,就贴出来提供给有需要的人。所有代码和
测试文档我会打包上传到我的个人空间。
函数说明如下:
所有函数成功返回0,失败返回错误码。
该说明文档只是简要说明该函数库,...
分类:
其他好文 时间:
2014-12-06 12:51:40
阅读次数:
159
1.了解使客户端能够实时收到服务器端的方式:第一种是客户端使用Pull(拉)的方式,就是隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现。第二种就是 服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。这样,客户端就能自动的接收到消息。
2.几种常见的解决方案实现原理
1)轮询(pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立...
分类:
移动开发 时间:
2014-12-04 12:18:03
阅读次数:
137
epool与select的区别:
select在一个进程中打开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048。不过 epoll则没有这个限制,它所支持的fd上限是最大可以打开文件的数目,这个数字一般远大于2048,一般来说内存越大,fd上限越大,1G内存都能达到大约10w左右。
select的轮询机制是系统会去查找每个fd是否数据已准备好,当fd很多的时候,效率当然就直...
分类:
其他好文 时间:
2014-12-01 20:57:38
阅读次数:
136