uip主动发数据

2019-08-14 20:06发布

目前正在做个网络相关的项目,用的uip。现在遇到个问题,当产生数据时不知道怎样直接将数据发送到网络上
目前知道一种方法是利用uip的轮询,当定时器超时时可以向网络上发数据。但是我需要一有数据立马发送,怎样才能做到?
各位大大有懂uip的吗?可否指点一二。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
anshuping
2019-08-15 14:19
我也遇到和楼主一样的问题,板子做服务器可以连上网络调试软件,板子作为客户端就连不上,初始化的时候添加了

               uip_ipaddr_t ipaddr;       
   
        timer_set(&periodic_timer, CLOCK_SECOND / 2);
        timer_set(&arp_timer, CLOCK_SECOND * 10);

        tapdev_init();
        uip_arp_init;
        uip_init();                                                                       
        uip_ipaddr(ipaddr, 192,168,1,16);       
        uip_sethostaddr(ipaddr);                                            
        uip_ipaddr(ipaddr, 192,168,1,1);        
        uip_setdraddr(ipaddr);                                                 
        uip_ipaddr(ipaddr, 255,255,255,0);       
        uip_setnetmask(ipaddr);
        uip_listen(HTONS(1200));
        uip_listen(HTONS(80));                               
               uip_ipaddr(&ipaddr,192,168,1,100);       
        uip_connect(&ipaddr,htons(1400));          
但是作为客户端连接不上服务器,请大神帮帮忙呗,我现在弄的都快崩溃了
   switch(uip_conn->lport)
        {
                case HTONS(80):                                   
                        //httpd_appcall();
                        break;
                case HTONS(1200):                               
                    tcp_test_appcall();
                        break;
        }
        switch(uip_conn->rport)       
        {
            case HTONS(1400):
                         tcp_client_demo_appcall();
               break;
            default:
               break;
        }
这个也添加了,但是就是连接不上服务器          

一周热门 更多>