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文件即可打开监视
实例
服务端
客户端:
以上内容是否对您有帮助:
更多建议: