void Servidor::actualizar(void* clienteN) { int id= (int)clienteN; audioEnCola** colaDeSonidos; int tiempo = 0; while(clientes[id].activo){ try{ recibirDeCliente(&id); if(clientes[id].activo){ enviarCliente(&id, paqueteVista, dibujablesSerializados); //recibe los mensajes que mandan otros clientes sin chocar en los threads if(time(NULL) - mensaje.tiempoActivo == 0){ if(mensaje.emisor != clientes[id].socket) enviarPaquete(clientes[id].socket, paqueteMensajeInfo, mensaje.msj); }else{ mensaje.tiempoActivo=0; } for(int i=0; i< maxExplosionesPorTurno; i++){ if(exp[id][i].radio >= 0){ if(clientes[id].socket != INVALID_SOCKET){ enviarExplosion(clientes[id].socket, exp[id][i]); exp[id][i].radio = -1; } } } //envio el tiempo del reloj a los clientes:5 if(Servidor::tiempo != -1 && Servidor::tiempo <= tiempoTurno){ enviarCliente(&id,paqueteTiempo, StringUtil::int2string(Servidor::tiempo)); } colaDeSonidos = Reproductor::getReproductor()->getColaDeEspera(); for(int i=0; i< numSonidos; i++){ if(!colaDeSonidos[id][i].enviado){ EnviarSonido(id, colaDeSonidos[id][i]); colaDeSonidos[id][i].enviado = true; } } } }catch(exception &e){ cout<<"catch en Servidor::actualizar: "<<e.what()<<endl; } } }
void ui_cliente_datos::on_pushButton_Aceptar_clicked() { if(!verificaRestriccionesCliente()) return; pDocumento.setNombre(ui->comboBox_tipoDoc->currentText()); pDocumento.setIdDocumento(QString::number(ui->comboBox_tipoDoc->getId(ui->comboBox_tipoDoc->currentText()))); cliente_act.setNombres(ui->lineEdit_nombres->text()); cliente_act.setPrimerApellido(ui->lineEdit_primerApellido->text()); cliente_act.setSegundoApellido(ui->lineEdit_segundoApellido->text()); cliente_act.setNumeroDocumento(ui->lineEdit_nroDoc->text()); cliente_act.setDireccion(ui->lineEdit_direccion->text()); cliente_act.setEmail(ui->lineEdit_correo->text()); QString sx;sx=sx.setNum(ui->comboBox_sexo->currentIndex()); cliente_act.setSexo(sx); QString year;year=year.setNum(ui->dateEdit->date().year()); QString month;month=month.setNum(ui->dateEdit->date().month()); QString day;day=day.setNum(ui->dateEdit->date().day()); QString fecha;fecha.append(year);fecha.append("-");fecha.append(month);fecha.append("-");fecha.append(day); cliente_act.setFechaNacimiento(fecha); cliente_act.setTelefono(ui->lineEdit_telefono->text()); cliente_act.setTelefono2(ui->lineEdit_telefono2->text()); cliente_act.setNacionalidad(ui->lineEdit_nacionalidad->text()); cliente_act.setMovil(ui->celular->text()); cliente_act.setDocumento(pDocumento); cliente_act.setRuc(ui->lineEdit_ruc->text()); cliente_act.setRazonSocial(ui->lineEdit_razonSocial->text()); cliente_act.setDireccion2(ui->lineEdit_direccionEmpresa->text()); if(strcmp(this->windowTitle().toStdString().c_str(),"Nuevo Cliente")==0) if(cliente_act.agregar()) { emit guarde(); this->close(); } else { QMessageBox box; box.setIcon(QMessageBox::Critical); box.setWindowTitle("Error"); box.setText("El Cliente no se pudo agregar!"); box.setStandardButtons(QMessageBox::Ok); box.setDefaultButton(QMessageBox::Ok); box.exec(); } if(strcmp(this->windowTitle().toStdString().c_str(),"Editar Cliente")==0) if(cliente_act.actualizar()) { emit guarde(); emit enviarCliente(cliente_act); this->close(); } else { QMessageBox box; box.setIcon(QMessageBox::Critical); box.setWindowTitle("Error"); box.setText("El Cliente no se pudo actualizar!"); box.setStandardButtons(QMessageBox::Ok); box.setDefaultButton(QMessageBox::Ok); box.exec(); } }