Changeset 71 for vtcross

Show
Ignore:
Timestamp:
11/22/08 21:14:44 (16 years ago)
Author:
ahe
Message:

send xml from server to client through socket

Location:
vtcross/branches/trnewman/CR_shell/src
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • vtcross/branches/trnewman/CR_shell/src/main_cognitive_engine.cpp

    r70 r71  
    2525 
    2626struct Affect { 
    27     Utility * u;  
     27    Utility u;  
    2828    //string relation; 
    29     char relation[20]; 
     29    char relation[50]; 
    3030};       
    3131 
     
    6161    n = recv(socket,buffer,256,MSG_PEEK); 
    6262    for(i=0;i<256;i++){ 
    63         if(strcmp(&buffer[i],"\0") == 0) break; 
     63            if(strcmp(&buffer[i],"\0") == 0) break; 
    6464    } 
    6565    n = recv(socket,buffer,i+1,0); 
    6666    if (n < 0)  
    6767         error("ERROR reading from socket"); 
    68     //printf("ReadMessage:%s %d\n",buffer,n); 
     68//    printf("ReadMessage:%s %d\n",buffer,n); 
    6969} 
    7070 
     
    102102        error("ERROR connecting"); 
    103103     
    104     int i; 
     104    int i, j; 
    105105    Utility uList[10]; 
    106106    Parameter pList[10]; 
     
    117117    for (i = 0; i < ce_info.numUtilities; i++){ 
    118118        bzero(buffer,256); 
    119         ReadMessage(sockfd,buffer); 
    120         printf("Name: %s\n", buffer); 
     119            ReadMessage(sockfd,buffer); 
     120            printf("Name: %s\n", buffer); 
    121121        strcpy(uList[i].name, buffer); 
    122122                  
    123123        bzero(buffer,256); 
    124         ReadMessage(sockfd,buffer); 
    125         printf("Units: %s\n", buffer); 
     124            ReadMessage(sockfd,buffer); 
     125            printf("Units: %s\n", buffer); 
    126126        strcpy(uList[i].units, buffer); 
    127127 
    128128        bzero(buffer,256); 
    129         ReadMessage(sockfd,buffer); 
     129            ReadMessage(sockfd,buffer); 
    130130        printf("Goal: %s\n", buffer); 
    131131        strcpy(uList[i].goal, buffer); 
    132132         
    133         bzero(buffer,256); 
    134         ReadMessage(sockfd,buffer); 
     133            bzero(buffer,256); 
     134            ReadMessage(sockfd,buffer); 
    135135        printf("Target: %s\n", buffer); 
    136136        uList[i].target = atof(buffer); 
    137137    } 
    138138 
    139     //for (i = 0; i < ce_info->numUtilities; i++){ 
    140     /*for (i = 0; i < 1; i++){ 
    141         printf("%s ", uList[i]); 
    142     }*/ 
    143     printf("\n"); 
    144  
    145  
    146     return 0; 
     139    // read parameters 
     140    // numParameters 
     141    bzero(buffer,256); 
     142    ReadMessage(sockfd,buffer); 
     143    ce_info.numParameters = atoi(buffer); 
     144    printf("number of parameters: %d\n", ce_info.numParameters); 
     145         
     146    for (i = 0; i < ce_info.numParameters; i++){ 
     147        bzero(buffer,256); 
     148            ReadMessage(sockfd,buffer); 
     149            printf("Name: %s\n", buffer); 
     150        strcpy(pList[i].name, buffer); 
     151                  
     152        bzero(buffer,256); 
     153            ReadMessage(sockfd,buffer); 
     154            printf("Units: %s\n", buffer); 
     155        strcpy(pList[i].units, buffer); 
     156 
     157        bzero(buffer,256); 
     158            ReadMessage(sockfd,buffer); 
     159        printf("Min: %s\n", buffer); 
     160        pList[i].min = atof(buffer); 
     161         
     162        bzero(buffer,256); 
     163            ReadMessage(sockfd,buffer); 
     164        printf("Max: %s\n", buffer); 
     165        pList[i].max = atof(buffer); 
     166         
     167            bzero(buffer,256); 
     168            ReadMessage(sockfd,buffer); 
     169        printf("Step: %s\n", buffer); 
     170        pList[i].step = atof(buffer); 
     171     
     172        // numAffects 
     173        bzero(buffer,256); 
     174        ReadMessage(sockfd,buffer); 
     175        pList[i].numAffects = atoi(buffer); 
     176        printf("number of affects: %d\n", pList[i].numAffects); 
     177         
     178        for (j = 0; j < pList[i].numAffects; j++){ 
     179            bzero(buffer,256); 
     180                ReadMessage(sockfd,buffer); 
     181                printf("Utility name: %s\n", buffer); 
     182            strcpy(pList[i].affection_list[j].u.name, buffer); 
     183                  
     184            bzero(buffer,256); 
     185                ReadMessage(sockfd,buffer); 
     186                printf("Relation: %s\n", buffer); 
     187            strcpy(pList[i].affection_list[j].relation, buffer); 
     188        } 
     189 
     190    } 
     191     
     192    // read obervables 
     193    // numParameters 
     194    bzero(buffer,256); 
     195    ReadMessage(sockfd,buffer); 
     196    ce_info.numObservables = atoi(buffer); 
     197    printf("number of observables: %d\n", ce_info.numObservables); 
     198         
     199    for (i = 0; i < ce_info.numObservables; i++){ 
     200        bzero(buffer,256); 
     201            ReadMessage(sockfd,buffer); 
     202            printf("Name: %s\n", buffer); 
     203        strcpy(pList[i].name, buffer); 
     204                  
     205        // numAffects 
     206        bzero(buffer,256); 
     207        ReadMessage(sockfd,buffer); 
     208        oList[i].numAffects = atoi(buffer); 
     209        printf("number of affects: %d\n", oList[i].numAffects); 
     210         
     211        for (j = 0; j < oList[i].numAffects; j++){ 
     212            bzero(buffer,256); 
     213                ReadMessage(sockfd,buffer); 
     214                printf("Utility name: %s\n", buffer); 
     215            strcpy(oList[i].affection_list[j].u.name, buffer); 
     216                  
     217            bzero(buffer,256); 
     218                ReadMessage(sockfd,buffer); 
     219                printf("Relation: %s\n", buffer); 
     220            strcpy(oList[i].affection_list[j].relation, buffer); 
     221        } 
     222    } 
     223 
     224     
     225    printf("xml transmission done\n"); 
     226 
     227 
     228  return 0; 
    147229} 
  • vtcross/branches/trnewman/CR_shell/src/main_cognitive_radio.cpp

    r70 r71  
    224224     
    225225        // Wait for incoming message 
    226         n = recv(socketfd,buffer,255,0); 
     226        n = read(socketfd,buffer,256); 
    227227         
    228228        // Print message 
    229229    if (n > 0)  
    230         printf("Here is the message: %s\n",buffer); 
     230        printf("Here is the received meessage: %s\n",buffer); 
    231231    //printf("n = %d\n",n); 
    232232         
     
    236236int SendMessage(int socketfd, string message) { 
    237237        int n; 
     238    int len; 
     239     
     240    char LEN[8]; 
     241    char * temp; 
    238242 
    239243        message.append("\0000");         
     
    251255        char counter[55]; 
    252256        char var[50]; 
    253  
    254257     
    255258//    while(1) { 
    256                 // Send parameters from struct 
     259                // Send number of utilities 
    257260                sprintf(counter,"%d",ce_info->numUtilities); 
    258261                SendMessage(socketfd,counter); 
     
    268271                } 
    269272 
    270                 /*// parameters 
     273                // parameters 
    271274        sprintf(counter,"%i",ce_info->numParameters); 
    272275                SendMessage(socketfd,counter); 
     
    301304                                SendMessage(socketfd,oList[i]->affection_list[j].relation); 
    302305                        } 
    303                 }*/ 
    304          
    305  
     306                } 
     307         
    306308                // Receive a message 
    307309        string message; 
    308310                n = ReceiveMessage(socketfd, message); 
    309         //cout << message << endl; 
     311        cout << message << endl; 
    310312 
    311313 
     
    394396        if(pid == 0) { 
    395397                // In child process - open policy engine port. 
    396         //      StartShell(30003,uList, pList, oList, &ce_info); 
     398        //      StartShell(30000,uList, pList, oList, &ce_info); 
    397399        } else { 
    398400                // In parent process - open cognitive engine port. 
     
    402404 
    403405   return 1; 
    404 }  
     406}