在没有WebSocket协议之前,在网页中,实现一个聊天室只能使用ajax 不断轮询,请求服务器是否有数据产生,而这样的实现方法会出现一系列的问题:

    • 客户端每次只能通过发送http 请求获得服务器是否有数据返回,且数据的及时性无法保证

    正因为在这种情况下,所以WebSocket出现了,它只需要一次http握手,就可以保持一个长连接,使得服务器可以主动发送消息给客户端,大大减少了轮询机制的消耗

    • Header: 互相沟通的Header是很小的-大概只有 2 Bytes

    首先,浏览器发起一个http协议的websocket握手请求:

    这样就已经是握手成功了,浏览器和服务端已经建立了一个websocket通道,发送数据不再需要tcp握手,也不需要发送http请求头,服务端也可自动下发数据到浏览器

    在HTML5中内置有一些API,用于响应应用程序发起的请求。基本API语句如下:

    其他