Hi Jan, I have put the line "mlockall(MCL_CURRENT|MCL_FUTURE)" into my code at line (***1***) and (***2***).
in both case the result is the same: there is a initial delay code: int main(int argc, char *argv[]) { (***1***) RT_TASK *task_rt; //lpx: task real time int udpSocket; //lpx: Socket UDP int nFamily=AF_INET; //lpx: protocollo di rete: IP int nType=SOCK_DGRAM; //lpx: protocollo di trasporto: UDP int nProtocol = 0; //lpx: ??? int nAddr=INADDR_ANY; //lpx: Questo indirizzo int nPort=15000; //lpx: porta // indirizzo interno struct sockaddr_in MyAdrs; //lpx: indirizzo IP memset( &MyAdrs, 0, sizeof( MyAdrs ) ); //lpx: azzero variabile // primo Socket MyAdrs.sin_family = nFamily; //lpx: tipo di indirizzo MyAdrs.sin_addr.s_addr = htonl( nAddr ); //lpx: indirizzo IP host MyAdrs.sin_port = htons( nPort ); //lpx: porta su cui collegarsi // indirizzi degli slave a cui mi devo connettere char slaveAddress[16] = "192.0.0.255"; int slavePort=6000; // l'inirizzo a cui invierò sarà di tipo broadcast struct sockaddr_in slaveAdrs; //indirizzo del server che si vuole connettere int len; //dimensione della struttura masterAdrs // i valori li otterro dal primo mesaggio che mi giunge memset(&slaveAdrs, 0, sizeof( slaveAdrs ) ); //lpx: azzero variabile // socket verso il primo slave S1 slaveAdrs.sin_family = nFamily; //lpx: tipo di indirizzo slaveAdrs.sin_addr.s_addr = inet_addr(slaveAddress); //lpx: indirizzo IP host slaveAdrs.sin_port = htons(slavePort); //lpx: porta su cui collegarsi const int BufferLen=256; //lpx: lunghezza buffer di ricezione char Buffer[BufferLen]; // lpx: punta ai dati da trasmettere char BufferRx[BufferLen]; //lpx: buffer di ricezione for (int j=1; j<BufferLen; j++) {// il Buffer[0] lo uso per inserire il numero di datagram Buffer[j]=j; } int flags=0; // lpx: vedi info sendoto() o recvfrom() int a,i; // a: ritorno errore , i indice int add_rtskbs=100; //numero di buffer in più da allocare per il socket int new_rtskbs; //contiene la quantità dei nuovi buffer realmente allocata //nice(-15); (***2***) // creo i socket udpSocket = socket_rt( nFamily, nType, nProtocol); if (udpSocket<0) { printf("errore Socket non creato %d!\n",udpSocket); //devo rimuovere i socket precedentemente creati close_rt(udpSocket); //chiudo il socket ..... do you have any ideas? thanks! ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_idv28&alloc_id845&op=click _______________________________________________ RTnet-users mailing list RTnet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rtnet-users