[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