webSocket:链接方式为tcp链接,主要作用为建立 服务器和客户端的长链接 能更好节省服务器资源和带宽。 服务器向浏览器推流,实现实时通信(双向平等对话)。
网络协议:
tcp/ip协议:它是一个网络通信协议族(它就不是一个单独的协议,是一个大族群(#°Д°))包括:ip协议,tcp协议,imcp协议,http协议,ftp协议,pop3协议等等。
电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做*的交流了。
tcp协议:用于应用程序间的通信。传输层协议。当应用程序希望通过TCP与另一个应用程序通讯时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。
双方握手,TCP在两个程序间建立一个全双工通信。这个通信将占据二个计算机之间的通信线路,直到一方/双方关闭。
http协议:都知道的协议。 应用层协议
ws协议: webSocket自己的协议: 应用层协议
当客户端开始与服务器建立链接,第一次握手会使用http协议,之后便会使用ws协议来替换http协议。客户端与服务器可通过tcp链接来交换数据。
webSocket使用:
新建webSocket实例
自带webSocket构造函数,可新建webSocket实例。 需要服务器地址。 var ws = new WebSocket(‘ws://localhost:8080‘);
webSocket构造函数自带的属性:
新建实例的状态readyState,返回值0:正在连接,1:链接成功,2.链接正在关闭,3.链接关闭或打开链接失败。
指定链接成功后回调函数onopen ws.onopen = function() { ws.send(‘数据‘) } 链接成功后会触发。
指定链接关闭后回调函数onclose ws.onclose = function() {} 链接关闭后触发。
链接过程中,客户端接收服务器传来的数据onmessage ws.onmessage = function(event)
链接过程中,客户端向服务器发送数据onsend ws.send(‘your message‘);
链接过程中,获取有多少数据未成功发送给服务器 webSocket.bufferedAmount ws.bufferedAmount
链接过程中,报错时触发 onerror ws.onerror = function() {}