WIFI AP + DHCP + UPD emission/Reception : OK
This commit is contained in:
parent
c1ea843094
commit
bb126ada4e
@ -87,6 +87,17 @@ void run_udp_beacon() {
|
||||
}
|
||||
}
|
||||
|
||||
void udp_receive_callback(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port){
|
||||
printf("UDP callback !\n");
|
||||
printf("IP: %d.%d.%d.%d, port %d\n", (addr->addr >>24) & 0xFF, (addr->addr >>16) & 0xFF, (addr->addr >>8) & 0xFF, addr->addr & 0xFF, port);
|
||||
printf("Taille:%d\n", p->len);
|
||||
printf("Contenu: ");
|
||||
for(int i=0; i < p->len; i++){
|
||||
printf("%c", ((char*)p->payload)[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
static err_t tcp_close_client_connection(TCP_CONNECT_STATE_T *con_state, struct tcp_pcb *client_pcb, err_t close_err) {
|
||||
if (client_pcb) {
|
||||
assert(con_state && con_state->pcb == client_pcb);
|
||||
@ -328,6 +339,8 @@ void key_pressed_func(void *param) {
|
||||
int main() {
|
||||
stdio_init_all();
|
||||
|
||||
sleep_ms(4000);
|
||||
|
||||
TCP_SERVER_T *state = calloc(1, sizeof(TCP_SERVER_T));
|
||||
if (!state) {
|
||||
DEBUG_printf("failed to allocate state\n");
|
||||
@ -371,6 +384,17 @@ int main() {
|
||||
dns_server_t dns_server;
|
||||
dns_server_init(&dns_server, &state->gw);
|
||||
|
||||
// UDP Callback
|
||||
struct udp_pcb * udp_pcd_received = udp_new();
|
||||
err_t err = udp_bind(udp_pcd_received, IP_ADDR_ANY, 4444);
|
||||
if(err != ERR_OK){
|
||||
printf("udb_bind err = %d\n", err);
|
||||
}else{
|
||||
printf("udb_bind ok\n");
|
||||
}
|
||||
|
||||
udp_recv(udp_pcd_received, udp_receive_callback, NULL);
|
||||
|
||||
if (!tcp_server_open(state, ap_name)) {
|
||||
DEBUG_printf("failed to open server\n");
|
||||
return 1;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user