Hello,
I am using the NCS v1.5.0, the nRF9160 SoC and the modem has firmware version mfw_nrf9160_1.2.3
Based on the UDP sample, I created an application that has opens a TCP listening server then waits for a client to connect. I am using blocking sockets and poll() to wait for events on the server and client sockets. My application is here tcp_listen.zip
It all works as expected, except that my application is not informed when the remote peer has closed the its end of the client socket.
Tracing with Wireshark on the remote peer side, I can see that when it closes the socket it sends a FIN+ACK packet. To which the nRF9160 modem sends an ACK. Nothing more happens. On the application, I expected that when the remote peer closes the client socket, the call to poll() would received a POLLIN, POLLHUP or POLLERR event. But nothing happens.
How can my application be informed that the remote peer has closed its end of the client socket ?
Best regards,
Nelson