Websocket

2018-01-09 17:50 更新

当我们需要进行客户端与服务器之间通信,我们需要用到socket来完成这方便的操作,它可以为您搭建一个socket服务端来进行一些通信操作

当我们需要使用javascript来进行与服务器连接时,我们需要依赖插件目录下的socket.io.js文件来进行操作,具体引用路径可以参考【系统常量】一栏

基本操作

  • 设置创建地址端口与类型   -   option($address,$port,$type='ws')
    例:$socket->option('127.0.0.1','1234');//当我们通过socket方法进行操作就可以不需要进行option过程了,这个方法可忽略
    $socket是socket方法返回的对象
  • 绑定事件   -   on($event,$callback)
    例:$socket->on('connect',function($ws,$uid){ //操作内容 });
  • 单向推送(请求/推送)   -   push($event, $uid, $msg, $callback = null)
    例:$ws->push('msg', $uid, 'hello');//这里的$ws是on事件callback里的参数
  • 单向发送(响应)   -   send($event, $uid, $msg);
    例:$ws->send('msg', $uid, 'hello');
  • 广播消息   -   sendall($event, $msg, $callback = null)
    例:$ws->sendall('msg','hello')
  • 运行监听   -   run()
    例:$socket->run()
  • 关闭客户端连接   -   close($uid)
    例:$ws->close($uid)
  • 编码   -   code($msg)
    例:$socket->code($msg)
  • 解码   -   uncode($str)
    例:$socket->uncode($str)

其他操作

  • 设置最大连接限制   -   setMaxConnectCount($num)
  • 获取当前连接数   -   getCurConnectCount()
  • 获取最大连接限制   -   getMaxConnectCount()
  • 设置最大等待时间   -   setWaiteTime($long=0)

操作websocket服务端必须在cli模式(命令行)下运行,可以在任意地方建立一个bat文件,使用您的php.exe路径 + php文件路径,下次直接运行bat文件即可打开监视

实例

服务端

客户端:

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号