We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
任何事物的演变,都是为了解决无法满足的需求,或者更好地满足需求。 ——沃·滋基·索德
一个都能看懂的日常:
😭,我该怎么办???
1、一趟一趟跑
C:有数据了没?(第 1 趟) S:没 C:有数据了没?(第 2 趟) S:没 ... C:(喘气.jpg)有数据了没?(第 n 趟) S:(黑脸.jpg)没~ ... C:(生无可恋.jpg)有数据了没?(第 n+m 趟) S:有了,给你给你
2、跑过去等一会儿,万一拿到了呢,少跑一趟是一趟
C:有数据了没?(第 1 趟) S:没 C:我等会吧,你快点 S:好 ... S:我们要打烊了,你先走吧,明天再来 C:(MMP.jpg)好吧 ... C:有数据了没?(第 n 趟) S:有了,给你给你
3、跑过去预定,天黑前,还有新数据的话,让伙计送过来吧
长连接Streaming:iframe/htmlfile/multi-part/Flash Socket 服务端发送事件EventSource:SSE(Server Sent Events)
长连接Streaming:iframe/htmlfile/multi-part/Flash Socket
服务端发送事件EventSource:SSE(Server Sent Events)
C:我预定下今天的数据。有数据没? S:没 C:好,天黑前,有新数据,让伙计送过来吧 S:(不情愿.jpg)行吧 ... S:有 数据1 了,伙计,送过去 ... S:有 数据n 了,伙计,噢,下班了呀。天都黑了,算了吧,等他再来吧
4、签个双向合同吧,你有数据随时给我,我有数据随时给你
C:我们的合同执行吧,麻烦有数据的时候,推记得给我噢。。 S:ok S:我这有数据给你 C:👌,我这也有数据给你 S:👌,给你 ...
这个演变过程,看着很像双方地位从不平等到平等的过程。
总结不太全,欢迎补充
未完待续。。。
以上
by ReAlign
The text was updated successfully, but these errors were encountered:
auto-archiving for issue #277
a9345ac
No branches or pull requests
WebSocket(1): 服务端“实时推送”的演变
引子
一个都能看懂的日常:
😭,我该怎么办???
演变过程
轮询(Polling)
C:有数据了没?(第 1 趟)
S:没
C:有数据了没?(第 2 趟)
S:没
...
C:(喘气.jpg)有数据了没?(第 n 趟)
S:(黑脸.jpg)没~
...
C:(生无可恋.jpg)有数据了没?(第 n+m 趟)
S:有了,给你给你
长轮询(Long-Polling)
C:有数据了没?(第 1 趟)
S:没
C:我等会吧,你快点
S:好
...
S:我们要打烊了,你先走吧,明天再来
C:(MMP.jpg)好吧
...
C:有数据了没?(第 n 趟)
S:有了,给你给你
长连接Streaming / 服务端发送事件EventSource
C:我预定下今天的数据。有数据没?
S:没
C:好,天黑前,有新数据,让伙计送过来吧
S:(不情愿.jpg)行吧
...
S:有 数据1 了,伙计,送过去
...
S:有 数据n 了,伙计,噢,下班了呀。天都黑了,算了吧,等他再来吧
WebSocket
C:我们的合同执行吧,麻烦有数据的时候,推记得给我噢。。
S:ok
S:我这有数据给你
C:👌,我这也有数据给你
S:👌,给你
...
做个对比吧
Polling
2、很容易理解
3、实现无额外技术成本
4、 支持跨域
2、 一次请求信息大半是无用(完整http头信息)
3、 有延迟
4、大部分无效请求
Long-Polling
2、不会频繁发请求
3、节省流量
4、延迟低
2、维护多个线程
3、很容易占满TCP连接数
2、不发无用请求,一次链接,多次“推送”
2、无法准确知道连接状态
3、IE、FF 一直会处于loading状态
2、不发无用请求,一次链接,多次“推送”
2、非http协议,无法自动穿越防火墙
2、数据流
3、支持断线重连
2、还是单向
3、IE不支持
2、可发送二进制文件
2、不支持断开重连
未完待续。。。
以上
by ReAlign
The text was updated successfully, but these errors were encountered: