异步非阻塞服务器(swoole创建)

swoole-1.7.7 增加了内置Http服务器的支持

实现异步非阻塞多进程http服务器 【服务器支持多个TCP客户端连接 同步异步体现在对请求的处理】

<?php

$http = new swoole_http_server("127.0.0.1", 9501);

$http->on('request', function ($request, $response) {

  $response->end("hello swoole_http_server");

});

$http->start();

//终端运行此文件 在浏览器访问本地9501端口 页面显示end();的数据

//swoole_http_server 对http协议的支持并不完整 仅建议作为应用服务器 前端增加nginx代理

 

websocket 1.7.9 增加了内置的websocket服务器支持 swoole_websocket_server 继承自 swoole_http_server

 

$server = new swoole_websocket_server("0.0.0.0", 9501);

$server->on('open',function  (swoole_websocket_server $server, $request){

  echo "server: handshake success with fd($request->fd)\n";

});

$server->on('message', function (swoole_websocket_server $server, $frame){

  echo "receive from {$frame->fd}:{$frame->data}, opcode:{$frame->opcode},fin:{$frame->finish}\n";

  $server->push($frame->fd, "this is server");

});

$server->on('close', function($ser, $fd){

  echo "client {$fd} closed\n";  

});

$server->start();

posted @ 2018-03-26 15:48  haha瓜  阅读(266)  评论(0)    收藏  举报