面向对象的简单tcp服务

<?php

class tcp{
	public $tcp = null;
	public function __construct(){
		//初始化服务并赋值给tcp属性
		$this->tcp = new swoole_server('0.0.0.0',8888);
		$this->tcp->set(
		 	[
				'worker_num' =>6,
				'max_request'=>1000
			]
		);
		//监听connect连接事件 这里对闭包改装
		$this->tcp->on('connect',[$this,'onConnect']);

		//监听receive接收数据事件 
		$this->tcp->on('receive',[$this,'onReceive']);

		//监听close断开连接事件 
		$this->tcp->on('close',[$this,'onClose']);
		$this->tcp->start();
	}
	//监听connect连接事件 实体
	public function onConnect($tcp,$fd){
		echo "Dear,".$fd."online!\n";
		//print_r($reactor_id);
	}
	//监听接收数据事件实体
	public function onReceive($tcp,$fd,$from_id,$data){
		echo "{$from_id}->{$fd}:{$data}\n";
		$tcp->send($fd,"{$from_id}->{$fd}:{$data}\n");
	//	echo 2;
	}
	public function onClose($tcp,$fd){
		echo $fd."leave\n";

	}
}
$obj = new tcp();

猜你喜欢

转载自blog.csdn.net/qq_17040587/article/details/82984572
今日推荐