Web前后端数据交互技术 课件 7.2 WebSocket事件与方法_第1页
Web前后端数据交互技术 课件 7.2 WebSocket事件与方法_第2页
Web前后端数据交互技术 课件 7.2 WebSocket事件与方法_第3页
Web前后端数据交互技术 课件 7.2 WebSocket事件与方法_第4页
Web前后端数据交互技术 课件 7.2 WebSocket事件与方法_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

——江西应用技术职业学院web前后端数据交互技术Socket通信目录CONTENTSSocket基本操作Socket通信机制Socket通信简介123Socket应用实例4什么是Socket通信?Socket通信原理Socket通信事件和方法Socket使用实例Socket实现聊天室功能02Socket通信事件和方法7.2Socket通信机制socket通讯的工作原理可以参考下面的流程图:socket通信事件与方法:服务器端函数说明socket_create(stream,$protocol)创建Socket,参数:stream:socket流$protocol:协议socket_bind()绑定IP和端口socket_listen()监听端口socket_accept()接受一个socket连接,与客户端建立连接socket_read()读取客户端发送过来的数据socket_write()将数据写到socket缓存向客户端发送socket_close()关闭Socket连接客户端函数说明Websocket(wsurl)向服务器发送连接send(string)向服务器发送数据onmessage事件监听服务器发送过来的数据onclose事件监听服务器开关状态Socket通信事件与方法1.socket_create函数socket_create(int$domain,int$type,int$protocol):resource创建并返回一个套接字,也称作一个通讯节点。一个典型的网络连接由2个套接字构成,一个运行在客户端,另一个运行在服务器端。domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET、AF_INET6、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等等。协议族决定了socket的地址类型,在通信中必须采用对应的地址,如AF_INET决定了要用ipv4地址(32位的)与端口号(16位的)的组合、AF_UNIX决定了要用一个绝对路径名作为地址。type:指定socket类型。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等。protocol:协议。常用的协议有,IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等,它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。Socket通信事件与方法2.socket_bind函数socket_bind(resource$socket,string$address[,int$port=0]):bool绑定address到socket。该操作必须是在使用socket_connect()或者socket_listen()建立一个连接之前。socket:用socket_create()创建的一个有效的套接字资源。address:

如果套接字是AF_INET族,那么address必须是一个四点分法的IP地址(例如127.0.0.1)。如果套接字是AF_UNIX族,那么address是Unix套接字一部分(例如/tmp/my.sock)。port(可选):仅仅用于AF_INET套接字连接的时候,并且指定连接中需要监听的端口号。Socket通信事件与方法3.socket_listen()函数socket_listen(resource$socket[,int$backlog=0]):bool监听端口socket:

用socket_create()创建的一个有效的套接字资源。backlog:指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。Socket通信事件与方法4.socket_accept()函数socket_accept(resource$socket):resource接受一个socket连接,与客户端建立连接socket:用socket_create()创建的一个有效的套接字资源。Socket通信事件与方法5.socket_read()函数socket_read(resource$socket,int$length[,int$type=PHP_BINARY_READ]):string读取客户端传来的数据。socket:用socket_create()创建的一个有效的套接字资源。$length:读取的最大字节数。$type:数据类型,取值有PHP_BINARY_READ(默认,)安全读取二进制数据。以及PHP_NORMAL_READ,碰到\nor\r符号结束读取。Socket通信事件与方法6.socket_write()函数socket_write(resource$socket,string$buffer[,int$length=0]):int向客户端写入数据。socket:用socket_create()创建的一个有效的套接字资源。$buffer:读取数据的首地址$length:最大读取字节数Socket通信事件与方法

7.socket_close()函数socket_close(resource$socket):voidsocket_close()会关闭掉给定的socket资源。这个函数只针对套接字资源有效,不能用在其他类型的资源类型上。socket:用socket_create()创建的一个有效的套接字资源。Socket通信事件与方法8.Websocket(wsurl)函数varws=newWebSocket('ws://localhost:8080');WebSocket对象作为一个构造函数,用于新建WebSocket实例。socket:用socket_create()创建的一个有效的套接字资源。执行上面语句之后,客户端就会与服务器进行连接。Socket通信事件与方法9.send(string)函数intsend(SOCKETs,constcharFAR*buf,intlen,intflags);向服务器发送数据第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。Socket通信事件与方法10.onmessage事件ws.onmessage=function(event){vardata=event.data;//处理数据};实例对象的onmessage属

温馨提示

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

评论

0/150

提交评论