walkor 10 anni fa
parent
commit
d20d49ef09
2 ha cambiato i file con 12 aggiunte e 5 eliminazioni
  1. 4 0
      GatewayWorker/Gateway.php
  2. 8 5
      Workerman/Worker.php

+ 4 - 0
GatewayWorker/Gateway.php

@@ -6,6 +6,7 @@ use \Workerman\Lib\Timer;
 use \Workerman\Protocols\GatewayProtocol;
 use \GatewayWorker\Lib\Lock;
 use \GatewayWorker\Lib\Store;
+use \Workerman\Autoloader;
 
 /**
  * 
@@ -334,6 +335,9 @@ class Gateway extends Worker
         $this->_innerUdpWorker->transport = 'udp';
         $this->_innerUdpWorker->listen();
     
+        // 重新设置自动加载根目录
+        Autoloader::setRootPath($this->_appInitPath);
+        
         // 设置内部监听的相关回调
         $this->_innerTcpWorker->onMessage = array($this, 'onWorkerMessage');
         $this->_innerUdpWorker->onMessage = array($this, 'onWorkerMessage');

+ 8 - 5
Workerman/Worker.php

@@ -1045,6 +1045,9 @@ class Worker
      */
     public function listen()
     {
+        // 设置自动加载根目录
+        Autoloader::setRootPath($this->_appInitPath);
+        
         if(!$this->_socketName)
         {
             return;
@@ -1082,8 +1085,8 @@ class Worker
         if(function_exists('socket_import_stream'))
         {
             $socket   = socket_import_stream($this->_mainSocket );
-            socket_set_option($socket, SOL_SOCKET, SO_KEEPALIVE, 1);
-            socket_set_option($socket, SOL_SOCKET, TCP_NODELAY, 1);
+            @socket_set_option($socket, SOL_SOCKET, SO_KEEPALIVE, 1);
+            @socket_set_option($socket, SOL_SOCKET, TCP_NODELAY, 1);
         }
         
         // 设置非阻塞
@@ -1117,6 +1120,9 @@ class Worker
      */
     public function run()
     {
+        // 设置自动加载根目录
+        Autoloader::setRootPath($this->_appInitPath);
+        
         // 如果没有全局事件轮询,则创建一个
         if(!self::$globalEvent)
         {
@@ -1148,9 +1154,6 @@ class Worker
         // 用全局事件轮询初始化定时器
         Timer::init(self::$globalEvent);
         
-        // 设置自动加载根目录
-        Autoloader::setRootPath($this->_appInitPath);
-        
         // 如果有设置进程启动回调,则执行
         if($this->onWorkerStart)
         {