I am experiencing socket disruption between a c++ client operating on a Raspberry Pi3 and a ReactPHP server operating on Centos7 with Php7. Please see the following:
- Client creates a socket connection to server using TLS over TCP on port 1337.
- Client is able to write data to the server.
- Server is able to write data to the client.
- Tshark is running on both machines with a filter for just port 1337, and sees this initial communication.
- No communication occurs for the next hour, and Tshark on both machines confirms no communication occurred.
- Neither the client or server received a close connection, and think the connection is still open.
- The server then attempts to write some more data to the client, Tshark sees the transmission on the server wire, but Tshark doesn't see the transmission on the clients wire, and obviously the client doesn't respond.
- If the client daemon is then shutdown, the server senses that the connection has been closed.
- If the server daemon is then shutdown instead of the client daemon, the client does not sense that the connection has been closed.
php.ini shows default_socket_timeout as being 60 seconds and changing the value does not appear to have any affect.
What is causing this and how do I prevent it?
Thank you