ESP8266 Developer Zone The Official ESP8266 Forum 2015-12-04T11:21:53+08:00 https://bbs.espressif.com:443/feed.php?f=66&t=1464 2015-12-04T11:21:53+08:00 2015-12-04T11:21:53+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1464&p=4889#p4889 <![CDATA[Re: Is wifi_set_event_handler_cb() Broken?]]>
Please use espconn_get_connection_info to get the remote_ip and port.

Here is an example http://bbs.espressif.com/viewtopic.php?f=31&t=440.

Code:

LOCAL void ICACHE_FLASH_ATTR
 user_udp_recv_cb(void *arg, char *pusrdata, unsigned short length)
 {
     
     os_printf("recv udp data: %s\n", pusrdata);
     struct espconn *pesp_conn = arg;
     
       remot_info *premot = NULL;
       sint8 value = ESPCONN_OK;
       if (espconn_get_connection_info(pesp_conn,&premot,0) == ESPCONN_OK){
             pesp_conn->proto.tcp->remote_port = premot->remote_port;
             pesp_conn->proto.tcp->remote_ip[0] = premot->remote_ip[0];
             pesp_conn->proto.tcp->remote_ip[1] = premot->remote_ip[1];
             pesp_conn->proto.tcp->remote_ip[2] = premot->remote_ip[2];
             pesp_conn->proto.tcp->remote_ip[3] = premot->remote_ip[3];
             espconn_sent(pesp_conn, pusrdata, os_strlen(pusrdata));
       }
 }

Statistics: Posted by ESP_Faye — Fri Dec 04, 2015 11:21 am


]]>
2015-12-04T10:17:18+08:00 2015-12-04T10:17:18+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1464&p=4888#p4888 <![CDATA[Re: Is wifi_set_event_handler_cb() Broken?]]>
See the attached DNS code.

Any idea?

Code:

void ICACHE_FLASH_ATTR init_dns() {
   
    dnsConn.type=ESPCONN_UDP;
   dnsConn.state=ESPCONN_NONE;
   dnsUdp.local_port=(int)53;
   dnsConn.proto.udp=&dnsUdp;   
   
    espconn_regist_recvcb(&dnsConn, dnsQueryReceived);   

   int res = espconn_create(&dnsConn);

    NODE_DBG("DNS server init, conn=%p , status=%d", &dnsConn,res);

}

static void ICACHE_FLASH_ATTR dnsQueryReceived(void *arg, char *data, unsigned short length) {

    struct espconn *conn=arg;

   ...
   
      // SDK 1.5 returns IP=0.0.0.0 Port=0
      // SDK 1.3 returns IP=192.168.4.2 Port=<Some Valid#>
   NODE_DBG("DNS Remote[IP=" IPSTR "][Port=%d]",
      IP2STR(&conn->proto.udp->remote_ip), conn->proto.udp->remote_port);
   espconn_send(conn, (uint8_t*)response, idx+16);
}

Statistics: Posted by ming — Fri Dec 04, 2015 10:17 am


]]>
2015-12-03T10:10:23+08:00 2015-12-03T10:10:23+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1464&p=4873#p4873 <![CDATA[Re: Is wifi_set_event_handler_cb() Broken?]]>
Here is our test code, it can get event "EVENT_SOFTAPMODE_STCONNECTED" when a station connected to ESP8266 softAP, please have a try.

Event "EVENT_SOFTAPMODE_PROBEREQRECVED" means that ESP8266 softAP received a probe request, you can just ignore it.

Thanks for your interest in ESP8266 !
wifi_event_test_1.5.0.zip

Statistics: Posted by ESP_Faye — Thu Dec 03, 2015 10:10 am


]]>
2015-12-03T06:30:41+08:00 2015-12-03T06:30:41+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1464&p=4872#p4872 <![CDATA[Is wifi_set_event_handler_cb() Broken?]]> Statistics: Posted by ming — Thu Dec 03, 2015 6:30 am


]]>