/** * 被动输出接口 * * 功能:读取本地序列文件为主动输入接口提供数据 * * 参数:$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); } } } }
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(); }