[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Questions about how to get a robust lwIP TCP Raw API server
From: |
bom |
Subject: |
[lwip-users] Questions about how to get a robust lwIP TCP Raw API server application. |
Date: |
Tue, 3 Nov 2015 06:38:21 -0700 (MST) |
Hello there, first mail/question to this list/forum for me, hope i do it the
good way.
I am a new user of the lwIP library for a use in a Xilinx's Zynq (SoC
containing an ARM Cortex A9) embedded *bare-metal application*. Having no
OS and hence a single thread, I am using the lwIP's Raw IP (with callbacks)
to develop a TCP server application.
That application needs to *both answer TCP "commands" *(understand sending
TCP packets depending on the received ones) and *send TCP packets
independently of the received ones *(understand even if no packets have been
received, starting the moment the connection is established).
Ok now you have the context, here are my questions :
-Once the new TCP PCB structure is created with pcb_new(), it is passed as
an argument of all the lwIP stack callbacks. What is then the utility to
assign it to a global TCP PCB structure?
-In which chronological order should I do my TCP_functions calls, knowing
that I need non-lwIP (Zynq peripherals) interrupts to trigger before being
able to answer commands? I so can't tcp_write in the recv_handler! Is it the
utility of that global TCP PCB? Is it ok/safe/*robust *to call tcp_write
outside from the lwIP callbacks' context and passing it a global TCP PCB
structure as parameter?
-When the connection is aborted by a remote host (i.e. I close my PUTTY
window and recv_handler gets a NULL pbuf), what is the good way to set my
lwIP application/connection in a clean state and ready to accept a new
connection?
I am currently tcp_close(pcb)-ing (and tcp_abort if tcp_close failed) and
then trying to recall the "new - bind - listen - accept" procedure but it
fails at tcp_bind returning the ERR_INUSE (-8) error ...
As a all-in-one question that could answer all of the above : is there a raw
API example using the tcp_close and then knowing how to automatically
relaunch the server if the connection has been aborted/reseted or link is
down? I searched in httpserver_raw and the contrib folder but none of them
seems to relaunch the connection once closed? Is there something I missed in
these examples codes?
Sorry for that long post and thank you if you came down this point, I hope
someone will have the answers to my questions. :-)
Regards.
--
View this message in context:
http://lwip.100.n7.nabble.com/Questions-about-how-to-get-a-robust-lwIP-TCP-Raw-API-server-application-tp25308.html
Sent from the lwip-users mailing list archive at Nabble.com.
- [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application.,
bom <=
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/03
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., bom, 2015/11/03
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Noam Weissman, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Noam Weissman, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Noam Weissman, 2015/11/04
- Re: [lwip-users] Questions about how to get a robust lwIP TCP Raw API server application., Dinesh Pandey, 2015/11/04