[Live-devel] Detect socket disconnect

Ross Finlayson finlayson at live555.com
Wed Oct 30 04:55:20 PDT 2019



> On Oct 30, 2019, at 2:15 AM, Holm Karstensen Steffen <steffen.karstensen at dk.saabgroup.com> wrote:
> 
> Hi,
> 
> I am developing an RTSP client using Live555 that streams RTP audio to a third party RTSP server.

Instead of using this “third party RTSP server”, have you considered instead using a “LIVE555 Proxy Server”: http://live555.com/proxyServer/ ?  (If you used this, you would likely not have to write any new code of your own.)

(In general we discourage the (clunky) model whereby data is streamed *to* a server; this is no longer something that our code supports directly.)


> I have created an RTSPClient subclass to implement this, and I'm wondering how to detect if the TCP socket connection to the server is closed while I'm streaming audio to it.

How specifically is your “RTSPClient” subclass implemented?  In particular, how are you creating the (output) TCP socket, and what class(es) are you using to output to this?


> From debugging the code it seems to be because the SocketDescriptor::readSocket() call in SocketDescriptor::tcpReadHandler1() fails, which in turn calls RTPInterface::removeStreamSocket() and now whenever RTPInterface::sendPacket() is called it returns True, even though no data was sent (fTCPStreams is NULL), and the onSendErrorFunc callback is never called.

I don’t understand the relevance of this, because you’re talking here about errors that occur when you *read* from a socket; but you’re asking about detecting/handling errors that occur when you *write* to a socket.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/




More information about the live-devel mailing list