Changeset 81 for vtcross/branches/trnewman/CR_shell
- Timestamp:
- 11/24/08 17:31:46 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/branches/trnewman/CR_shell/src/main_cognitive_radio.cpp
r80 r81 217 217 } 218 218 219 int ReceiveMessage(int socketfd, string message) { 220 221 char buffer[256]; 222 int n; 223 224 // Clear incoming data buffer 225 bzero(buffer,256); 219 220 int ReceiveMessage(int socket,char * buffer) 221 { 222 int i,n; 226 223 227 // Wait for incoming message 228 n = read(socketfd,buffer,256); 229 230 // Print message 231 if (n > 0) 232 printf("Here is the received meessage: %s\n",buffer); 233 if(n == 0) 234 printf("Client closed the socket.\n"); 235 236 return n; 237 } 224 n = recv(socket,buffer,256,MSG_PEEK); 225 for(i=0;i<256;i++){ 226 if(strcmp(&buffer[i],"\0") == 0) break; 227 } 228 n = recv(socket,buffer,i+1,0); 229 if (n < 0) 230 error("ERROR reading from socket"); 231 // printf("ReadMessage:%s %d\n",buffer,n); 232 233 return n; 234 } 235 238 236 239 237 int SendMessage(int socketfd, string message) { … … 323 321 printf("Configuration sent, waiting for ACK...\n"); 324 322 // Receive ACK for utils 323 char buffer[256]; 325 324 string message; 326 n = ReceiveMessage(socketfd, message); 327 cout << message << endl; 325 n = ReceiveMessage(socketfd, buffer); 326 printf("%s\n", buffer); 327 //cout << message << endl; 328 328 printf("ACK received.\n"); 329 329 … … 358 358 CE_Info *ce_info) 359 359 { 360 string message; 360 361 char buffer[256]; 361 string message;362 362 int i; 363 363 float var; … … 365 365 // utility 366 366 // numUtilities 367 bzero(buffer,256);368 message.erase();369 ReceiveMessage(sockfd,message);370 ce_info->numUtilities = atoi(message.c_str());371 printf("number of utilities: %d\n", ce_info->numUtilities);372 367 for (i = 0; i < ce_info->numUtilities; i++){ 373 368 bzero(buffer,256); 374 message.erase(); 375 ReceiveMessage(sockfd,message); 376 var = atof(message.c_str()); 369 ReceiveMessage(sockfd,buffer); 370 var = atof(buffer); 377 371 uList[i]->value = var; 378 printf("utility %s, value : %f\n",379 uList[i]->name, uList[i]->value);372 printf("utility %s, value %f\n" 373 , uList[i]->name.c_str(), uList[i]->value); 380 374 } 381 375 382 376 // paramter 383 377 // numparameters 384 /*bzero(buffer,256);*/385 message.erase();386 ReceiveMessage(sockfd,message);387 ce_info->numParameters = atoi(message.c_str());388 printf("number of parameters: %d\n", ce_info->numParameters);389 378 for (i = 0; i < ce_info->numParameters; i++){ 390 /*bzero(buffer,256);*/ 391 message.erase(); 392 ReceiveMessage(sockfd,message); 393 var = atof(message.c_str()); 379 bzero(buffer,256); 380 ReceiveMessage(sockfd,buffer); 381 var = atof(buffer); 394 382 pList[i]->value = var; 395 printf("parameter %s, value : %f\n",396 pList[i]->name, pList[i]->value);383 printf("parameter %s, value %f\n" 384 , pList[i]->name.c_str(), pList[i]->value); 397 385 } 398 386 399 387 // observable 400 388 // numObservables 401 /*bzero(buffer,256);402 ReceiveMessage(sockfd,buffer);*/403 message.erase();404 ReceiveMessage(sockfd,message);405 ce_info->numObservables = atoi(message.c_str());406 printf("number of observables: %d\n", ce_info->numObservables);407 389 for (i = 0; i < ce_info->numObservables; i++){ 408 /*bzero(buffer,256); 409 ReceiveMessage(sockfd,buffer);*/ 410 message.erase(); 411 ReceiveMessage(sockfd,message); 412 var = atof(message.c_str()); 390 bzero(buffer,256); 391 ReceiveMessage(sockfd,buffer); 392 var = atof(buffer); 413 393 oList[i]->value = var; 414 printf("observable %s, value : %f\n",415 oList[i]->name, oList[i]->value);394 printf("observable %s, value %f\n" 395 , oList[i]->name.c_str(), oList[i]->value); 416 396 } 397 return 1; 417 398 } 418 399