swoole实现一个web http、https代理服务器代码

代码语言:phpcli

所属分类:通讯

代码描述:swoole实现一个web http、https代理服务器代码

代码标签: swoole web http https 代理 服务器 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
/**
 * Web代理服务器(支持http/https)
 * 支持php5.6下运行通过
 */

class WebProxyServer
{
   
private $_client = [];
   
private $_server;

   
/**
     * 日志打印
     * @author auther
     * @param string $message
     */

   
protected function log($message)
   
{
        echo $message
. PHP_EOL;
   
}

   
/**
     * 获取代理ip
     * @author auther
     */

   
protected function getLocalIp()
   
{
       
//获取代理IP
        $ipList
= swoole_get_local_ip();
       
foreach($ipList as $interface => $ip) {
            $this
->log("{$interface}:{$ip}");
       
}
   
}

   
/**
     * 初始化
     * @author auther
     */

   
protected function init()
   
{
       
//$this->getLocalIp();

        $this
->_server = new swoole_server("0.0.0.0", 8889);

        $this
->_server->set([
           
'buffer_output_size' => 64 * 1024 *1024, //必须为数字
       
]);
   
}

   
/**
     * 跑起来
     * @author auther
     */

   
public function run()
   
{
        $this
->init();

        $this
->_server->on('connect', function ($server, $fd){
            $this
->log("Server connection open: {$fd}");
       
});

        $this
->_server->on('receive', function ($server, $fd, $reactor_id, $buffer){

           
//判断是否为新连接
           
if(!isset($this->_client[$fd])) {
               
//判断代理模式
                list
($method, $url) = explode(' ', $buffer, 3);
                $u
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0