国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman 搭橋連接3389,類似teamview

wangfeishan

整個架構(gòu)如下
share_____bridge____________________server ____________________view

共享端開啟bridge,share, 服務器server做來回轉(zhuǎn)發(fā), 遠程桌面連接view 使用mstsc.exe連接

share,放在共享端, share 為3389端口,不用管它 ,win7對應服務remote desktop service開啟即可,
bridge,放在共享端,bridge使用workerman做pipe轉(zhuǎn)發(fā)到3389

server 轉(zhuǎn)發(fā) ,接收view請求轉(zhuǎn)發(fā)給bridge,接收bridge轉(zhuǎn)發(fā)給view

現(xiàn)在問題:
mstsc.exe view,連接server后,偶爾能連上share端,大多時候,連不上!

3414 2 1
2個回答

wangfeishan

代碼 如下
share端(bridge)

$ws_worker->onWorkerStart=function()
   {
             //print_r($worker);
        echo "worker starting ....\n";

         global $ws_worker;
         global $desk_server_ip;
           global $i;
        //global $bridge_server;
        //global $share_bridge;
         global $share_bridge;

         //bridge_desk_server-----------------------------------------
        $share_bridge = new AsyncTcpConnection("tcp://127.0.0.1:3389");

         $share_bridge->onConnect = function($share_bridge_conn) 
        {

                $share_bridge_conn->maxSendBufferSize = 10002400;

              echo "bridge 連接 3389 ok  \r\n";
             //service_bridge發(fā)給3389--------------------------------------
              //建立連接向左側(cè)發(fā)
             $bridge_server = new AsyncTcpConnection("tcp://47.96.173.108:20000");

              $bridge_server->onConnect = function($bridge_server) 
            {
                    $bridge_server->maxSendBufferSize = 10002400;

                  echo "bridge_server 連接 ok  \r\n ";
                  $bridge_server->send("bridge");
            };

                 $bridge_server->pipe($share_bridge_conn);

                $share_bridge_conn->pipe($bridge_server);

             $bridge_server->connect();

        };

        $share_bridge->connect();

};//onWorkerStart end

Worker::runAll();
  • 暫無評論
wangfeishan

server端

$ws_worker->onConnect = function($connection)
{
    $connection->maxSendBufferSize = 10002400;

        global $i;

        global $ws_worker;

       $connection->onMessage = function($connection, $data) 
     {
         $connection->maxSendBufferSize = 10002400;
            global $ws_worker;
                global $i;
             // echo $data;
         if($data!="")
         {
             //echo "有數(shù)據(jù).....................\r\n";
             }

            //簽名
         //向客戶端發(fā)送數(shù)據(jù)
        if(!isset($connection->uid))
        {
             $i++;
            $connection->uid="";

            //如果是mstsc.exe
            if(strpos($data,"msts")>-1) 
            {

                   $connection->uid="view1";

            }
            if(strpos($data,"bridge")>-1)   
            {
                //bridge 
                $connection->uid="bridge";
            }

                if(strpos($data,"echo_all_client")>-1)  
            {
                //bridge 
                $connection->uid="echo_all_client";

            }

            //echo "set uid ";
            $ws_worker->uidConnections=$connection;

            //  echo $connection->uid." login \r\n";

        } 

          if($connection->uid=="echo_all_client")
            {

                $temp="all UID :::::::::";
                foreach($ws_worker->uidConnections as $connection1)
               {
                   //所有設備接收截屏命令
                   $uid=$connection1->uid; 

                    $temp=$temp. $uid." ";

               }

               $temp=$temp.":::::::::\r\n";
               echo $temp;
               ///簽名end
                $connection->send($temp);
            }

        //若是view1發(fā)送信息,轉(zhuǎn)發(fā)給service_bridges
         if($connection->uid=="view1")
        {

             //echo "-----------------------view1-------------------";
          //
           foreach($ws_worker->uidConnections as $connection1)
           {
               //所有設備接收截屏命令
               $uid=$connection1->uid; 

               //發(fā)給service_brige
                if(strpos($uid,"bridge")>-1)
               {
                     echo "收到view1, 轉(zhuǎn)發(fā)給service_bridge";
                     $connection1->send($data);

               }
           }

        } 

        //若是bridge發(fā)送信息,轉(zhuǎn)發(fā)給view1
         if($connection->uid=="bridge")
        {
             // echo "-----------------------bridge-------------------";
          //
           foreach($ws_worker->uidConnections as $connection1)
           {

               $uid=$connection1->uid; 

               //發(fā)給service_brige
                if(strpos($uid,"view1")>-1)
               {
                    echo "recevive bridge, to view1";
                    $connection1->send($data);

               }
           }

        } 

    }; 

};  //conn結(jié)束
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??