Example #1
0
void sJarvisNode::initNode()
{
    m_initDone =false;
    connect(&m_tcpClient,SIGNAL(socket_rx(QByteArray)),this,SLOT(validateClient(QByteArray)));
    send(encodeNodeMsg(QStringList(QString(M_JARVIS_GREETING))));
    // le damos un segundo para que reciba de vuelta la informacion, al cumplir el segundo se llama a la funcion initDone()
    m_initTimeout.start(5000);
}
int  peerValidation(char *ip,char *cport){

  //Loop through the present connections and update the 
  //connection status
  int errorflag = 0;
  int success = 0;

   
  if((strcmp(ip,ipaddress) == 0) && (strcmp(cport,portnum) == 0)){

   printf("\n[PA1]$: Self connection not allowed !!");
   printf("\n[PA1]$:");
   fflush(stdout);  
   return 0 ; 
  }

  errorflag = validateClient(ip,cport,headClientNode);
  //errorflag = 1 ;
  if(errorflag == 0)
  {
    printf("\n Invalid IP/HOST NAME OR AN IP/HOSTNAME NOT LISTED BY THE SERVER");     
    printf("\n[PA1]$:");
    fflush(stdout);    
  }else{
    errorflag = validateClient(ip,cport,headConnectdNode);
    if(errorflag == 1){
    
     printf("\n Duplicate Connection already exists");
     printf("\n[PA1]$:");
    fflush(stdout);  
    } else{
      success = 1 ;
      //updtConnectionStatus(ip,cport);  
    }
  } 

   return success ;
} 
Example #3
0
void sJarvisNode::validateClient(QByteArray data)
{
    QString greet;
    greet += P_PACKETSTART ;
    greet += M_JARVISMSG;
    greet += P_PACKETSEPARATOR;
    greet += M_NODE_GREETING;
    greet += P_PACKETTERMINATOR;
    qDebug() << data << "/" << greet  ;
    if(data == greet)
    {
        disconnect(&m_tcpClient,SIGNAL(socket_rx(QByteArray)),this,SLOT(validateClient(QByteArray)));
        connect(&m_tcpClient,SIGNAL(socket_rx(QByteArray)),this,SLOT(data_rx(QByteArray)));
    }
    else
        closeTCP();
}
Example #4
0
void sJarvisNodeServer::handleNewConn()
{
    QTcpSocket* s = this->nextPendingConnection();
    validateClient(s);
}
Example #5
0
void sJarvisNodeServer::connectNode(QString host, qint16 port)
{
    QTcpSocket* c = new QTcpSocket(this);
    c->connectToHost(host,port);
    validateClient(c);
}