0 ) { if ( count($rSockets) != 1 ) { error_log( "Bogus return from select" ); return; } } switch( $nbytes = socket_recvfrom( $socket, $msg, MSG_DATA_SIZE, 0, $rem_addr ) ) { case -1 : { error_log( "socket_recvfrom() failed: ".socket_strerror(socket_last_error()) ); return; } case 0 : { error_log( "No data to read from socket" ); return; } default : { if ( $nbytes != MSG_DATA_SIZE ) { error_log( "Got unexpected message size, got $nbytes, expected ".MSG_DATA_SIZE ); return; } break; } } $data = unpack( "ltype", $msg ); switch ( $data['type'] ) { case MSG_DATA_WATCH : { $data = unpack( "ltype/imonitor/dfps/istate/ilevel/Cdelayed/Cpaused/C/C/irate/ddelay/izoom/Cenabled/Cforced", $msg ); $data['fps'] = sprintf( "%.2f", $data['fps'] ); $data['rate'] /= 100; $data['delay'] = sprintf( "%.2f", $data['delay'] ); $data['zoom'] = sprintf( "%.1f", $data['zoom']/100 ); break; } case MSG_DATA_EVENT : { $data = unpack( "ltype/ievent/Cpaused/C/C/C/iprogress/irate/izoom", $msg ); //$data['progress'] = sprintf( "%.2f", $data['progress'] ); $data['rate'] /= 100; $data['zoom'] = sprintf( "%.1f", $data['zoom']/100 ); break; } default : { error_log( "Unexpected received message type '$type'" ); $response = array( 'result'=>'Error', 'message' => "Unexpected received message type '$type'" ); echo jsValue( $response ); return; } } $response = array( 'result'=>'Ok', 'status' => $data ); echo jsValue( $response ); socket_close( $socket ); unlink( $locSockFile ); ?>