connect($node, $cookie); } // 连接erlang节点 public function connect($node, $cookie){ $this->conn = peb_connect($node, $cookie); if(!$this->conn){ throw new ErrorException("连接erlang节点失败[".peb_errorno()."]: ".peb_error()); } } // 执行一个RPC调用 public function rpc($mod, $fun, $argk = '[]', $argv = array()){ $arg = peb_encode($argk, array($argv)); $rtn = peb_rpc($mod, $fun, $arg, $this->conn); if(!$rtn) return false; $rtn = peb_decode($rtn); return isset($rtn[1]) ? $rtn : $rtn[0]; } // 关闭当前连接 public function close(){ return peb_close($this->conn); } // 格式化数据为erlang中的列表 public function repeatFormat($format, $len) { if($len < 1) return ''; return implode (', ', array_fill(0, $len, $format)); } }