예제 #1
0
파일: Sync.php 프로젝트: uwitec/outbuying
 /**
  * 被动输出接口
  * 
  * 功能:读取本地序列文件为主动输入接口提供数据
  * 
  * 参数:$msgSign:消息序列标识,调用方执行成功后返回时设置的参数。
  *  	$pwd:访问接口的密码
  * 		$msgType:消息类型,msgList表示消息序列,msgSQL表示消息SQL
  * 		$msgListDir :'':所有的msgList,msgSql,'normal'所有的msgList,'unknown':unknown目录下的msgList
  * 返回值:获取时返回消息序列,更改是无返回值
  */
 public static function PassiveOutput($msgSign = '', $pwd = '', $msgType = 'msgList', $msgListDir = '')
 {
     //访问权限判断
     //if(!Watt_Sync_MessageListManage::interfaceAuth('PassiveOutput'))return false;
     //验证密码
     if (!Watt_Sync_MessageListManage::passwordAuth($pwd)) {
         return false;
     }
     if ($msgSign == '') {
         //获取消息序列,多个
         //调用消息序列管理器,获取消息序列
         if ($msgListDir == '') {
             return Watt_Sync_MessageListManage::getAllMessage();
         } else {
             if ($msgListDir == 'unknown') {
                 return Watt_Sync_MessageListManage::getAllMessageList('unknown');
             }
         }
     } else {
         //删除消息序列
         if ($msgType == 'msgList') {
             //return Watt_Sync_MessageListManage::delMessageList($msgSign);
             return Watt_Sync_MessageListManage::moveMsglistOld($msgSign);
         } else {
             if ($msgType == 'msgSql') {
                 return Watt_Sync_MessageListManage::delMessageSql($msgSign);
             }
         }
     }
 }
예제 #2
0
 public function ready2()
 {
     while (true) {
         $msg = socket_accept($this->sock);
         // 接受一个SOCKET
         if (!$msg) {
             echo "socket_accept() failed:" . socket_strerror($msg) . "\n";
             break;
         }
         $dd = parent::read();
         socket_write($msg, $dd, strlen($dd));
         $dd = trim(socket_read($msg, 1024));
         //获取所有的msglist数据
         $msgAll = Watt_Sync_MessageListManage::getAllMessage();
         $dd = serialize($msgAll);
         socket_write($msg, $dd, strlen($dd));
         socket_close($msg);
         $command = strtoupper("quit");
         if ($command == "QUIT") {
             break;
         }
     }
     parent::close();
 }