I have written a control panel to control Live555 VOD server, in
this panel, administrator could see active connection's IP
addresses, I want to close some specified connections by IP address,
now the RTSPServer can receive these specified IP addresses, but how
could I close these connections in RTSPServer.cpp?
You can cleanly close a connection - within the "RTSPServer" - simply
by deleting its "RTSPClientSession" object. Therefore, all you need
is a way of mapping "client IP address"+"client port number" to
"RTSPClientSession".
(Note that just knowing the client's IP address is not enough,
because it's possible for more than one connection to come from the
same IP address. You will need to use the client's port number as
well.)
I suggest that you subclass "RTSPServer" to add a hash table that
maps "client IP address"+"client port number" to "RTSPClientSession".
Redefine the "createNewClientSession()" virtual function to add an
entry into this hash table each time that you create a new
"RTSPClientSession" object. Also, whenever you delete a
"RTSPClientSession" object (to close its connection), remove the
corresponding hash table entry.
As always, you should be able to do this just via subclassing -
without modifying any of the supplied "LIVE555" code.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel