VOID tcpServerWorkTask( int sFdServer, /* server's socket fd */ char * address, /* client's socket address */ u_short port /* client's socket port */ ) { char request[256]; int row = 2; int column = 2; char stringBuffer[80]; // struct request request; /* request/message from client */ int nRead; /* number of bytes read */ static char replyMsg[] = "Server received your message"; /* read client request, display message */ static char welcomeMsg[] = "Dominik und Barthman heissen sie herzlich willkommen auf 5555"; /* if ((write(sFdServer, welcomeMsg, strlen(welcomeMsg))) == ERROR) { //error }*/ while ((nRead = fioRdString(sFdServer, (char *) &request, sizeof(request))) > 0) { if (strcmp(request,"Request\r")==0) { if(localMode==false){ sprintf(stringBuffer, "Ready\r\n"); myStateMachine->sendEvent("getStatus"); }else{ printf("in wrong state, first change to chainIdle"); sprintf(stringBuffer, "in wrong state, first change to chainIdle \r"); } } else if (request[0]=='R' && request[1]=='i' && request[2]=='g' && request[3]=='h' && request[4]=='t' && request[5]==' '){ for(int i=1;i<20;i++){ request[i-6]=request[i]; } printf("TCP SERVER %s",request); sprintf(stringBuffer, "IP Address of the right neighbor is %s \r",request); myTCPClient->init(request); } else{ static char errorMsg[] = "falsche Eingabe\n\r"; // write(sFdServer, errorMsg, strlen(errorMsg)); sprintf(stringBuffer, ""); } /* if(write(sFdServer, stringBuffer ,strlen(stringBuffer))==ERROR){ //error } */ } if (nRead == ERROR) /* error from read() */ perror("read"); close(sFdServer); /* close server socket connection */ }
tpmode(int port) { char ttyName[16]; char chrStr[80],replyStr[80]; int len,i; sprintf(ttyName,FpgaFormatStr,port); printf("opening dev: '%s'\n",ttyName); sfd = open(ttyName, O_RDWR, 0); if(sfd < 1) { perror("open:"); printf("failed to open: '%s'\n",ttyName); return(-1); } sprintf(ttyName,FpgaFormatStr,1); sprintf(ttyName,FpgaFormatStr,2); sprintf(ttyName,FpgaFormatStr,3); while(1) { printf("string to issue: "); fioRdString (STD_IN, &chrStr, 80); printf("sending: '%s'\n",chrStr); len = strlen(chrStr); for(i=0;i<len;i++) printf("char: '%c', 0x%x\n",chrStr[i],chrStr[i]); printf("strlen: %d\n",len); chrStr[len] = 13; chrStr[len+1] = 10; chrStr[len+2] = 0; write(sfd,chrStr,len+2); fioRdString(sfd,replyStr,80); len = strlen(replyStr); taskDelay(calcSysClkTicks(500)); /* 1/2 sec, taskDelay(30); */ printf("reply: %d bytes '%s' \n",len,replyStr); } }
VOID tcpServerWorkTask(int sFd, /* server's socket file descriptor */ char * address, /* client's socket address */ u_short port /* client's socket port */ ) { char clientRequest[200]; //struct request clientRequest; /* request/message from client */ int nRead; /* number of bytes read */ static char replyMsg[] = "Gruess Gott in Vorarlberg\n"; float potiVolt; /* read client request, display message */ writeToDisplay (14, 2, "tcpServerWorkTask" ); write(sFd, replyMsg, sizeof(replyMsg)); while ((nRead = fioRdString(sFd, (char *) &clientRequest, sizeof(clientRequest)))> 0) { //printf("MESSAGE FROM CLIENT (Internet Address %s, port %d):\n%s\n",address, port, clientRequest.message); char output[64]; switch (clientRequest[0]) { case '1': sprintf(output,"Poti Dezimal = %d ", globalPoti); write(sFd, output, 64); break; case '2': potiVolt=(float)(globalPoti*5)/4095; sprintf(output,"Poti Volt = %f ", potiVolt); write(sFd, output, 64); break; case '3': sprintf(output,"Poti Hex = %x ", globalPoti); write(sFd, output, 64); break; default: write(sFd, "Wrong input", 11); } } if (nRead == ERROR) /* error from read() */ perror("read"); close(sFd); /* close server socket connection */ }
void usrDemo (void) { char string [40]; printf ("VxWorks (for %s) version %s.\n", sysModel (), vxWorksVersion); printf ("Kernel: %s.\n", kernelVersion ()); printf ("Made on %s.\n", creationDate); FOREVER { printf ("\nThis is a test. Type something: "); fioRdString (STD_IN, string, sizeof (string)); printf ("\nYou typed \"%s\".\n", string); if (strcmp (string, "0") == 0) memShow (0); if (strcmp (string, "1") == 0) memShow (1); } }
VOID tcpServerWorkTask(int sFd, /* server's socket file descriptor */ char * address, /* client's socket address */ u_short port /* client's socket port */ ) { char clientRequest[200]; //struct request clientRequest; /* request/message from client */ int nRead; /* number of bytes read */ static char replyMsg[] = "Gruess Gott in Vorarlberg\n"; /* read client request, display message */ /* writeToDisplay (14, 2, "tcpServerWorkTask" ); */ write(sFd, replyMsg, sizeof(replyMsg)); while ((nRead = fioRdString(sFd, (char *) &clientRequest, sizeof(clientRequest)))> 0) { //printf("MESSAGE FROM CLIENT (Internet Address %s, port %d):\n%s\n",address, port, clientRequest.message); switch(clientRequest[0]){ case '1': printf("**Start Key Pressed \n"); //start myStateMachine->sendEvent("startKey"); sprintf(replyMsg,"Start Key Pressed \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case '2': printf("**Direction: Left\n"); //left myStateMachine->sendEvent("leftKey"); sprintf(replyMsg,"Direction = left \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case '3': printf("**Direction: Right\n"); //rigth myStateMachine->sendEvent("rightKey"); sprintf(replyMsg,"Direction = right \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case '4': printf("**Speed Increased\n"); //increase myStateMachine->sendEvent("incKey"); sprintf(replyMsg,"Speed Increased \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case '5': printf("**Speed Decreased\n"); myStateMachine->sendEvent("decKey"); sprintf(replyMsg,"Speed Decreased \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'A': printf("**Local Operation Mode selected\n"); myStateMachine->sendEvent("modeLomKey"); sprintf(replyMsg,"Mode = Local Operation Mode \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'B': printf("**Chain Operation Mode selected\n"); myStateMachine->sendEvent("modeComKey"); sprintf(replyMsg,"Mode = Chain Operation Mode \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'F': printf("**Request received\n"); myStateMachine->sendEvent("RequestUpdate"); sprintf(replyMsg,"Request Received \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'E': printf("**Ready received\n"); myStateMachine->sendEvent("getReady"); sprintf(replyMsg,"Ready received \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'D': printf("**Wait received\n"); myStateMachine->sendEvent("getWait"); sprintf(replyMsg,"Wait received \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; case 'C': printf("**Release received\n"); myStateMachine->sendEvent("getRelease"); sprintf(replyMsg,"Release received \n"); write(sFd, replyMsg, sizeof(replyMsg)); break; } } if (nRead == ERROR) /* error from read() */ perror("read"); close(sFd); /* close server socket connection */ }