walkor 12 tahun lalu
induk
melakukan
b7d6f11a33

+ 1 - 0
conf/conf.d/GameGateway.conf

@@ -4,5 +4,6 @@ start_workers = 5
 user = www-data
 preread_length = 23
 lan_ip = 127.0.0.1
+lan_port_start = 10000
 game_worker[] = udp://127.0.0.1:8383
 game_worker[] = udp://127.0.0.1:8383

+ 0 - 15
man/Core/AbstractWorker.php

@@ -34,12 +34,6 @@ abstract class AbstractWorker
     const MSG_TYPE_FILE_MONITOR = 2;
     
     /**
-     * 进程编号
-     * @var integer
-     */
-    public static $number = 0;
-    
-    /**
      * worker名称
      * @var string
      */
@@ -216,15 +210,6 @@ abstract class AbstractWorker
     }
     
     /**
-     * 增加进程序列号
-     * @return int
-     */
-    public function increaseNumber()
-    {
-        return ++self::$number;
-    }
-    
-    /**
      * 获取错误类型对应的意义
      * @param integer $type
      * @return string

+ 1 - 2
man/Core/Master.php

@@ -363,8 +363,7 @@ class Master
             self::$workerPids[$worker_name][$pid] = $pid;
             // 更新进程信息到共享内存
             self::updateStatusToShm();
-            // 序列号加1
-            echo call_user_func_array(array($worker_name, 'increaseNumber'), array());
+            
             return $pid;
         }
         // 子进程

+ 2 - 1
workers/GameGateway.php

@@ -40,7 +40,8 @@ class GameGateway extends Man\Core\SocketWorker
         $ret = $this->event->add($this->mainSocket,  Man\Core\Events\BaseEvent::EV_READ, array($this, 'accept'));
         
         // 创建内部通信套接字
-        $this->lanPort = posix_getpid();
+        $start_port = Man\Core\Lib\Config::get($this->workerName.'.lan_start_port');
+        $this->lanPort = $start_port + posix_getppid() - posix_getpid();
         $this->lanIp = Man\Core\Lib\Config::get($this->workerName.'.lan_ip');
         if(!$this->lanIp)
         {