Code: Select all
struct espconn _Conn;
esp_udp _ConnUdp;
static void ICACHE_FLASH_ATTR UdpDataReceived(void *arg, char* data,uint16_t len)
{
struct espconn *conn=(struct espconn *)arg;
char remoteIp[16];
os_sprintf(remoteIp,IPSTR,conn->proto.udp->remote_ip[0],conn->proto.udp->remote_ip[1],conn->proto.udp->remote_ip[2],conn->proto.udp->remote_ip[3]);
console_printf("################ %s: Data received from %s:%d:\r\n",localIp,remoteIp,conn->proto.udp->remote_port);
}
static void InitUdp(uint32_t localIp,int localPort)
{
_Conn.proto.udp=&_ConnUdp;
_Conn.type=ESPCONN_UDP;
_Conn.state=ESPCONN_NONE;
os_memcpy(_Conn.proto.udp->local_ip,&localIp,4);
_Conn.proto.udp->local_port=localPort;
espconn_regist_recvcb(&_Conn,UdpDataReceived);
espconn_regist_sentcb(&_Conn,DataSent);
sint8 connStatus =espconn_create(&_Conn);
}