swoole

php扩展安装查看

php -m

查看具体某个扩展的配置信息

php --ri swoole

查看进程端口占用

netstat -ntlp

HTTP server

server = new Swoole\Http\Server(IP,port)

超全局变量的失效(多个协程 进程隔离 $globe 进程间共享)
使用$resquest 获取相关信息

TCP server

server = new Swoole\Server(IP,port)

连接 Content (func(server , fd))

数据接收 Recevie (func(server,fd,rid,data)){

​ $server->send(fd,"xxx")

}

关闭 Close (func(server , fd))

测试tcp 连接

Telnet IP:port

UDP server

server = new Swoole\Server(IP,port, SWOOLE_PROCESS,SWOOLE_SOVK_UDP)

Packet(server,data,clientInfo){

server->Sendto(clientInfo[IP],clientInfo[port],"xxxx")

}

测试udp 连接

nc -vu IP port

协程与线程:
一时间只有一个协程在进行,单个请求起一个线程,线程内是阻塞执行,遇到IO操作切换其他线程工作。
因此,协程下开发是异步非阻塞的
协程与线程很像,协程由用户代码来调度和管理,而不是由操作系统内核来进行调度,线程可以同时有多个进行

注意事项
4.1 之后提供了一键协程化的方法 \Swoole\Runtime::enableCoroutine(),只需在使用协程前运行这一行代码,Swoole 会将 所有使用 php_stream 进行 socket 操作均变成协程调度的异步 I/O
$_全局变量因为在同个worker下共享,同一时间多个协程读写会出现混淆数据等问题
global 和 静态变量 因为持久化原因不能销毁
协程周期,协程上下文context应用

标签: none

添加新评论