This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::on_client_privateTextSend(QString uname,QString receiverName,QString text){ | |
QString currentTime = QTime::currentTime().toString("H:mm A/"); | |
QString messagePm = "/pm:"+currentTime+uname+" : "+text+"\n"; | |
foreach(ClientThread* client,clientThreadList){ | |
if(client->getUsername() == receiverName){ | |
sendTextToOne(messagePm,client); | |
return; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::on_client_textSend(QString uname,QString text){ | |
//client that send the signal to this slot | |
ClientThread* sender_client = (ClientThread*)sender(); | |
QString currentTime = QTime::currentTime().toString("H:m A/"); | |
QString message = "/text:"+currentTime + uname + " : " + text + "\n"; | |
sendTextToAll(message,sender_client); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::sendTextToAll(QString text,ClientThread* except){ | |
QByteArray block; | |
QDataStream out(&block,QIODevice::WriteOnly); | |
out.setVersion(QDataStream::Qt_5_8); | |
out << (quint32)0 << text; | |
out.device()->seek(0); | |
out << (quint32)(block.size() - sizeof(quint32)); | |
qDebug() << "block.size() = " << block.size(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::sendTextToOne(QString text,ClientThread* target){ | |
QByteArray block; | |
QDataStream out(&block,QIODevice::WriteOnly); | |
out.setVersion(QDataStream::Qt_5_8); | |
out << (quint32)0 << text; | |
out.device()->seek(0); | |
out << (quint32)(block.size() - sizeof(quint32)); | |
qDebug() << "block.size() = " << block.size(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Dialog::sendTextToServer(QString text){ | |
QByteArray block; | |
QDataStream out(&block,QIODevice::WriteOnly); | |
out.setVersion(QDataStream::Qt_5_3); | |
qDebug() << "texto: " + text; | |
out << (quint32)0 << text; | |
out.device()->seek(0); | |
out << (quint32)(block.size() - sizeof(quint32)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//El chat grupal | |
void Dialog::on_lineEdit_ChatInput_returnPressed() | |
{ | |
//Obtenemos el msj del line edit | |
QString text = ui->lineEdit_ChatInput->text().trimmed(); | |
//Si es esta vacio | |
if(text.isEmpty()) | |
return; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//El proceso sale del cpu | |
void *gestionarPlanificador(void* threadid) { | |
struct Planificador value = *((struct Planificador *)threadid); | |
value.Procesador.setEstado("Terminado"); | |
cout << "Proceso ID (" << value.Procesador.getId()<< ") ESTADO: "<< value.Procesador.getEstado() << endl; | |
cout << "Proceso ID (" << value.Procesador.getId()<< ") HA TERMINADO SU EJECUCION TOTAL. LIBERADO RECURSOS" << endl; | |
value.getProcesador().setEstado("Terminado"); | |
value.getProcesador().setId(); | |
pthread_exit(NULL); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void *gestionarCola1(void* threadid) { | |
struct Planificador &value = *((struct Planificador *)threadid); | |
Proceso n = value.getPopCola1(); //El proceso pasa al procesador | |
cout<<" ATENDIENDO NUEVO PROCESO EN CPU. ID: "<<value.getPopCola1().getId() <<endl; | |
n.setEstado("Ejecutandose"); //Cambia su estado | |
n.imprimirDatos(); //Imprimimis datos del proceso en CPU | |
cout<<endl; | |
value.cola1.pop(); //Ya no esta en cola | |
value.setProceso(n); | |
pthread_exit(NULL); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cout<<endl<<"ESTADOS ACTUALES"<<endl<<endl; | |
AdministradorColas.imprimirCola1(); | |
AdministradorColas.imprimirCola2(); | |
AdministradorColas.imprimirCola3(); | |
AdministradorColas.imprimirCola4(); | |
tiempoEjecucion++; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Cambios de cola | |
for(int i = 0; i < NUM_QUEUES ; i++){ | |
//Si el tiempo de Quantum de la cola es igual al tiempo en ejecucion por el proceso en cpu | |
//Y si el T que ha estado ejecutandose es distinto al tiempo de ejecución asignado en un inicio | |
if ( AdministradorColas.getProcesador().getCola() == (i+1) && | |
tiempoEjecucion == queues[i] && AdministradorColas.getProcesador().getTEjecucion() != tiempoEjecucion){ | |
tiempoEjecucion=0; | |
AdministradorColas.gestionarEvento(); //Pasara a la cola inferior | |
AdministradorColas.setIdProcesador(); | |
continue; |