@@ -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
@@ -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
@@ -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;
// 子进程
@@ -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)
{