[Live-devel] Close specified client by IP
Ross Finlayson
finlayson at live555.com
Mon Sep 13 15:02:52 PDT 2010
>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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100913/69339414/attachment.html>
More information about the live-devel
mailing list