Hello, I have an problem and after one week I'm at one's wits' end. I wrote a client that send a raw message to a second system. That works. Now I want to wait for a request form the second system befor I send my message. The second system sends an broadcast, but my program isn't able to receive that. Here is my code:
RT_TASK *lxrtnettsk; char msg[60]; char msgRecv[60]; unsigned char src_mac[6] = {0x00, 0x10, 0xa7, 0x23, 0x4f, 0x17}; int transmittionTime=1000;//Zeit in Milisekunden int sendLoops = 2; static struct sockaddr_ll newAddr; struct ifreq newIfr; struct ether_header *eth = (struct ether_header *)msg; int ret = 0; int newSocket = 0; int count = 0; sprintf(msg, "Used RTAI, RTnet and UDP!"); system("sh ModuleEinbindenJitterTestXPC.sh"); cout << msg << endl; mlockall(MCL_CURRENT|MCL_FUTURE); memset(eth->ether_dhost, 0xFF, ETH_HLEN); eth->ether_type=htons(0x1234); strncpy(newIfr.ifr_name, "rteth0", IFNAMSIZ); newSocket = rt_dev_socket(AF_PACKET, SOCK_RAW, 0); //RAW communication newAddr.sll_family = PF_PACKET; newAddr.sll_protocol = htons(ETH_P_IP); newAddr.sll_ifindex= 2; newAddr.sll_hatype = 1;//ARPHRD_ETHER; newAddr.sll_pkttype = PACKET_OTHERHOST; newAddr.sll_halen = ETH_ALEN; //MAC - Begin newAddr.sll_addr[0] = src_mac[0]; newAddr.sll_addr[1] = src_mac[1]; newAddr.sll_addr[2] = src_mac[2]; newAddr.sll_addr[3] = src_mac[3]; newAddr.sll_addr[4] = src_mac[4]; newAddr.sll_addr[5] = src_mac[5]; //MAC - End newAddr.sll_addr[6] = 0x00; //not used newAddr.sll_addr[7] = 0x00; //not used lxrtnettsk = rt_task_init(4800, 1, 0, 0); if (NULL == lxrtnettsk) { rt_dev_close(newSocket); printf("CANNOT INIT MASTER TASK\n"); exit(1); } rt_make_hard_real_time(); start_rt_timer(0); ret = rt_dev_bind(newSocket, (struct sockaddr *)&newAddr, sizeof(newAddr)); cout << "newBind: " << ret << endl; while(count<sendLoops) { ret = rt_dev_recv(newSocket, msgRecv, 60, 0); ret = rt_dev_send(newSocket, msg, sizeof(msg), 0); rt_sleep(1000000); count++; } rt_make_soft_real_time(); rt_dev_close(newSocket); rt_task_delete(lxrtnettsk); Some Ideas? Regards, Franz
------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________ RTnet-users mailing list RTnet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rtnet-users