Web前后端数据交互技术 课件 7.1 Socket通信简介_第1页
Web前后端数据交互技术 课件 7.1 Socket通信简介_第2页
Web前后端数据交互技术 课件 7.1 Socket通信简介_第3页
Web前后端数据交互技术 课件 7.1 Socket通信简介_第4页
Web前后端数据交互技术 课件 7.1 Socket通信简介_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

——江西应用技术职业学院web前后端数据交互技术Socket通信7.1目录CONTENTSSocket基本操作Socket通信机制Socket通信简介123Socket应用实例4什么是Socket通信?Socket通信原理Socket通信事件和方法Socket使用实例Socket实现聊天室功能01什么是Socket通信?7.1Socket通信简介产生背景HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP协议无法实现服务器主动向客户端发起消息。如果服务器有连续的状态变化,客户很难获知。大多数Web应用程序将通过频繁的异步JavaScript和XML(Ajax)请求实现长轮询。这样做效率低,也浪费资源(不停连接,HTTP连接始终打开)。WebSocket由此而生。Socket的英文原义是"孔"或"插座",通常也称作"套接字"。WebSocket协议在2008年诞生,2011年成为国际标准。所有浏览器已支持。WebSocket只需要建立一次连接,就可以一直保持连接状态。这相比于轮询方式的不停建立连接显然效率要大大提高。HTTP通信VSSocket通信握手机制服务端和客户端主动发送信息双向平等通信内涵1.两个程序通过双向连接交换数据,一端被称为一个socket。2.socket是双向的长连接,提供了网络通信的一些接口,控制数据的发送。3.双方至少一方主动断开连接,才会中断通信。4.socket可以使用TCP(传输控制协议)来实现,也可以使用UDP(数据报协议)来实现,一般使用TCP协议。内涵socket(套接字)既不是程序,也不是协议,其只是操作系统提供的通信层的一组抽象API。在一般情况下,服务器多用PHP来开发Socket通信,客户端多用Javascript或者JQuery来开发Socket通信。优点:数据传输量极少、实时性好。特点1.建立在TCP协议之上,服务器端的实现比较容易。2.与HTTP协议有着良好的兼容性。握手阶段采用HTTP协议,因此握手时不容易屏蔽,能通过各种HTTP代理服务器。3.数据格式比较轻量,性能开销小,通信高效。4.可以发送文本,也可以发送二进制数据。5.没有同源限制,客户端可以与任意服务器通信。6.协议标识符是ws(如果加密,则为wss),服务器网址就是URL。工作原理Socket是“网络七层”中传输层的一个接口,是对TCP连接的一个封装。工作流程1.服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。2.客户端请求:由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。3.连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。分为三个步骤socket通讯的工作原理可以参考下面的流程图:通信需要服务端和客户端组成:服务端:1.使用php初始化socket然后绑定一个端口,对端口进行监听。2.调用accept阻塞,等待客户端连接。客户端:1.初始化一个socket2.连接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论