Hi,
I refered the flow of the page (http://lwip.wikia.com/wiki/Raw/TCP), which
said that I should call tcp_accepted once an connection is accepted.
I added the tcp_accepted in my tcp_accept callback function, but it shows
fail since pcb->state is already changed to ESTABLISHED.
I wondered where should I call tcp_accepted?
Regards,
Chase
Here is part of the code:
static err_t
netio_accept(void *arg, struct tcp_pcb *pcb, err_t err)
{
...
tcp_accepted(pcb);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I tried to add tcp_accepted here.
tcp_arg(pcb, ns);
tcp_sent(pcb, netio_sent);
tcp_recv(pcb, netio_recv);
tcp_poll(pcb, netio_poll, 4); /* every 2 seconds */
return ERR_OK;
}
void netio_init(void)
{
struct tcp_pcb *pcb;
int err;
pcb = tcp_new();
do{
err = tcp_bind(pcb, IP_ADDR_ANY, 18767);
tx_thread_sleep(500);
printf("tcp_bind status: %d\n", err);
}while(err != ERR_OK);
netio_closed = 0;
pcb = tcp_listen(pcb);
tcp_accept(pcb, netio_accept);
}
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users