WebSocket学习总结

1、WebSocket是什么?

     TCP/IP是什么?

     TCP使用固定的连接?

     为什么IP是无连接的?

     IP路由器的由来?

     TCP与IP有什么区别?

     全双工通讯协议是什么?

2、WebSocket的创建原理?

3、WebSocket的方法和属性、事件

4、不使用它会怎么样?

 

WebSocket是什么?

   答:HTML5开始提供的一种在单个TCP链接上进行全双工通讯的协议

TCP/IP是什么?

     1.TCP/IP是用于英特网(Internet)的通信协议。

     2.TCP/IP是提供连接因特网的计算机通信的通信协议

          什么是计算机通信协议?

               答:计算机通信协议是对那些计算机必须遵守以便彼此通信的的规则的描述

     3.TCP/IP 指传输控制协议/网际协议

     4.定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准

TCP使用固定的连接

   1、TCP的使用:TCP 用于应用程序之间的通信。

    2、当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方"握手"之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。

    3、这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。

为什么IP是无连接的?

    1、IP的使用:IP 用于计算机之间的通信。

    2、IP 是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。

    3、通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送

    4、IP 负责将每个包路由至它的目的地。

IP路由器的由来

   1、当一个 IP 包从一台计算机被发送,它会到达一个 IP 路由器。

    2、IP 路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。

    3、在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。

TCP与IP有什么区别?

      TCP:

                 TCP 负责应用软件(比如您的浏览器)和网络软件之间的通信

                 TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。

         IP:

                 IP 负责计算机之间的通信

                 IP 负责将包发送至接受者。

     关系: TCP 和 IP 在一起协同工作。

全双工通讯协议是什么?

     当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方"握手"之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信

WebSocket的创建原理?      

       浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据

WebSocket的方法和属性、事件

   方法:

              1、可以通过 send() 方法来向服务器发送数据

              2、close()关闭连接

   事件对象名打点时要加on,加上on表示事件处理程序

              1、通过 onmessage 事件来接收服务器返回的数据。

              2、open    连接建立时触发

              3、message    客户端接收服务端数据时触发

              4、error    通信发生错误时触发

              5、close      连接关闭时触发

     创建WebSocket获取属性

            例子:

                       var Socket = new WebSocket(url, [protocol] );

                       第一个参数 url, 指定连接的 URL。第二个参数 protocol 是可选的,指定了可接受的子协议。

            属性:

                         只读属性 readyState 表示连接状态,可以是以下值:

                                 0 - 表示连接尚未建立。

                                 1 - 表示连接已建立,可以进行通信。

                                 2 - 表示连接正在进行关闭。

                                 3 - 表示连接已经关闭或者连接不能打开。

                        只读属性bufferedAmount

                                 只读属性 bufferedAmount 已被 send() 放入正在队列中等待传输,但是还没有发出的 UTF-8 文本字节数。

不使用WebSouket会怎么样?

     1、服务器被迫为每个客户端使用许多不同的底层TCP连接:一个用于向客户端发送信息,其它用于接收每个传入消息

      2、.有些协议有很高的开销,每一个客户端和服务器之间都有HTTP头

      使用它解决的问题:

           使用单个TCP连接双向通信。 这就是WebSocket协议所提供的功能

           结合WebSocket API ,WebSocket协议提供了一个用来替代HTTP轮询实现网页到远程主机的双向通信的方法。

posted @ 2019-02-19 15:55  成胜文  阅读(547)  评论(0编辑  收藏  举报