int main(void){ struct timespec t; t.tv_sec = 0; t.tv_nsec = 30000000; //setup sockets struct sockaddr_in relays_socket, analog_in_socket, analog_out_socket, digital_in_socket, digital_out_socket; socklen_t slen = sizeof(struct sockaddr_in); int s_relays, s_analog_in, s_analog_out, s_digital_in, s_digital_out; initServerSocket(25101, &s_analog_in, &analog_in_socket); initServerSocket(25301, &s_digital_in, &digital_in_socket); while(1){ char buf[255]; EBUanalogIn analogIn = new_EBUanalogIn; //wait for analog in packet recvfrom(s_analog_in, buf, 255, 0, (struct sockaddr*) &analog_in_socket, &slen); memcpy(&analogIn, buf, sizeof(EBUanalogIn)); //copy data to type system("clear"); float value; for(int i=0; i<24; i++){ value = getAnalogIn(&analogIn, i); printf("A%d= %f\n", (i+1), value); } } }
int main(void){ char rcvBuf[255]; commandPacket comPacket; int packetId = 1; struct sockaddr_in commandInSocket, commandOutSocket; socklen_t slen = sizeof(struct sockaddr_in); int s_commandInSocket, s_commandOutSocket; //setup socket to send to wheel loader initClientSocket(CMDO_PORT, &s_commandOutSocket, WL_WIRELESSIP, &commandOutSocket); // initClientSocket(CMDO_PORT, &s_commandOutSocket, "127.0.0.1", &commandOutSocket); //setup socket to receive packets from simulator initServerSocket(CMDI_PORT, &s_commandInSocket, &commandInSocket); while(1){ recvfrom(s_commandInSocket, rcvBuf, 255, 0, (struct sockaddr*) &commandInSocket, &slen); memcpy(&comPacket, rcvBuf, sizeof(commandPacket)); comPacket.packetId = packetId++; clock_gettime(CLOCK_REALTIME, &comPacket.timeSent); printf("sending packet\n"); sendto(s_commandOutSocket, (char*)&comPacket, sizeof(commandPacket), 0, (struct sockaddr*) &commandOutSocket, slen); } return 0; }
int main (int argc, char* argv []) { int sockConnection, port; char str[128]; count = 0; checkArgs(argc, argv); sscanf(argv[2],"%d", &port); signal(SIGINT,sigHandler); if(initServerSocket(&serverSock, argv[1], port)!=0) { sprintf(str,"I can't use %s:%d\n",argv[1],port); perror(str); return -1; } if (count < 50) { while(waitConexion(serverSock,&sockConnection)!=-1) { pthread_create(&threadArray[count], NULL, attendClientThread, (void *) sockConnection); count++; } } else { printf("Server busy, aborting...\n"); return -1; } return 0; }