| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?phpnamespace app\common\workman;use Workerman\Connection\AsyncTcpConnection;use Workerman\Worker;/** * websocket客户端 * Class WebSocketClient * @package app\common\workman */class WebSocketClient{    protected $worker;//websocket实例    /**     * 构造方法     * WebSocketServer constructor.     */    public function __construct()    {    }    /**     * 启动     */    public function start(){        $this->worker = new Worker();        $this->run();    }    /**     * 业务方法,业务写在这里     */    private function run(){        $this->worker->onWorkerStart = function ($worker) {            $host = "ws://127.0.0.1:23456";//定义协议和端口,后续可以放到配置中            $con = new AsyncTcpConnection($host);            $con->onConnect = function($con) {                $tlv=new Tlv();                $tag = 0x01;                $value = 'Hello i am client';                $length = strlen( $value );                $data = array(                    array($tag, $length,$value),                    array($tag, $length,$value)                );//组包                $data = $tlv->Write($data);                $con->send($data);            };            $con->onMessage = function($con, $data) {                echo $data;                //$con->send('hello,i am client');            };            $con->connect();        };        Worker::runAll();    }}
 |