阅读:《Web 实时推送技术的总结》、《人工智能知识点》、《如何用网页版微信API做一个微信机器人》

阅读 Quarterback 36℃ 0评论

1.《Web 实时推送技术的总结》

  • HTTP协议本身问题(针对现在主流HTTP/1.1版本):
    • 默认长连接(通过请求头Connection: Keep-Alive开启,在1.1版本前,默认是短连接)
    • head of line blocking问题,虽然通过pipeling机制可先后发送多个http请求,不用等待回复,但是回复必须按顺序一个一个依次回复(FIFO)。在HTTP2.0通过多路复用优化解决。
    • HTTP/1.1协议是半双工的
  • WebSocket协议:
    • WebSocket是HTML5中新协议,同http一样,是建立在tcp基础上的应用层协议。而且WebSocket协议也是基于http协议实现的,通过HTTP/1.1 协议的101状态码进行握手
    • WebSocket协议是全双工的
  • 在HTTP/1.1中,实现服务器端推送主要有以下途径:
    • 轮询(polling):
      • 客户端每隔一段时间发送http请求服务端询问一次,获取服务端要推送的数据。
      • 优点是:实现简单,浏览器兼容性好
      • 缺点是:轮询间隔不好控制,时间长的话实时性不好,时间短的话对服务器端压力大。
    • 长轮询(long-polling):
      • 长轮询是对轮询的改进版,客户端发送HTTP给服务器之后,看有没有新消息,如果没有新消息,就一直等待。当有新消息的时候,才会返回给客户端。
      • 优点是:实时性比较好,兼容性比较好
      • 缺点是:维持长连接消耗资源,而且有可能连接超时服务端也并无要推送数据。
    • iframe流(http streaming):
      • iframe流方式是在页面中插入一个隐藏的iframe,利用其src属性在服务器和客户端之间创建一条长连接,服务器向iframe传输数据(通常是HTML,内有负责插入信息的javascript),来实时更新页面
      • 优点是:实时性比较好,兼容性比较好
      • 缺点是:维持长连接消耗资源,而且有可能连接超时服务端也并无要推送数据;IE、chrome、Firefox会显示加载没有完成,图标会不停旋转
  • 通过WebSocket协议实现服务器端推送:
    • 一旦Web服务器与客户端之间建立起WebSocket协议的通信连接,之后所有的通信都依靠这个专用协议进行。通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据。由于是建立在HTTP基础上的协议,因此连接的发起方仍是客户端,而一旦确立WebSocket通信连接,不论服务器还是客户端,任意一方都可直接向对方发送报文
    • 优点是:全双工,支持双向通信,实时性好。可以发送文本,也可以发送二进制数据。减少通信量,只要建立起WebSocket连接,就希望一直保持连接状态。和HTTP相比,不但每次连接时的总开销减少,而且由于WebSocket的首部信息很小,通信量也相应减少了
    • 缺点是:不兼容一些低版本浏览器

2.《人工智能知识点》

俯视…

4ebe85bb-22a4-4bbe-a161-aa704aadb8ed

3.《如何用网页版微信API做一个微信机器人》

  • 实现机器人还是很简单,主要步骤,主要问题在让这个机器人”智能”,需要对获取的消息做自然语言理解并进行回答:
    • 1、获取 UUID
    • 2、根据 UUID 获取二维码
    • 3、扫码登陆, 获取登陆信息
    • 4、拿登陆信息换初始化数据
    • 5、拿数据初始化
    • 6、获取好友列表和消息列表
    • 7、发送消息



喜欢 (0)or分享 (0)
Quarterback.cn 打赏作者
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址