Thanks Ross, I just want to close client connection by IP address and
not consider port number, because in our project not allowed more than
one connection from the same IP address. After reading your reply, I'm
sorry that I still don't know how to do this. I just got the client IP
address that would be closed, according to your suggestion I must find
the clientsession first, but how can I find its clientsession by this IP
address?

________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of Ross Finlayson
Sent: Tuesday, September 14, 2010 6:03 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Close specified client by IP



        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/


IMPORTANT NOTE: This e-mail and any attachment are confidential and may contain 
trade secrets and may also be legally privileged or otherwise protected from 
disclosure. If you have received it in error, you are herewith informed about 
its status. Please notify us immediately by reply e-mail and then delete this 
e-mail and any attachment from your system. You are prohibited from making use 
of or copying this e-mail or any attachment or disclosing the contents to any 
other person.

In case you become aware of any unethical business behavior or violation of 
laws, particularly those against the Anti-corruption laws and Anti-trust laws, 
Siemens Compliance HelpDesk "Tell us" can be reached at 
www.siemens.com.cn/compliancehelpdesk

<Disclaimer in Chinese below, characters may not be displayed correctly.>

????:???????????,???????????????????????????,????????????,?????????????????????????????????????,??????????????????????????????
?????????????????,?????????????????,????????????"Tell 
us"??,???www.siemens.com.cn/compliancehelpdesk


_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to