Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^8: Creating Socket Connections that are persistent across multiple page loads in a single web session

by unlinker (Monk)
on Jan 05, 2011 at 13:51 UTC ( #880608=note: print w/ replies, xml ) Need Help??


in reply to Re^7: Creating Socket Connections that are persistent across multiple page loads in a single web session
in thread Creating Socket Connections that are persistent across multiple page loads in a single web session

Thanks for the suggestion. Have not used POE before (but have read a bit about it in Simon Cozens book "Advanced Perl Programming") so will pass it for now, in favour of a simple Dancer function that hands out sockets to requestors. This function keeps track of which socket belongs to which requestor using a hash whose keys are session ids. If the session id is a key in the hash it just hands out the corresponding socket, if not it creates a new one, records it in the hash and hands it out. Since I run the Dancer app under Starman, I believe the handed sockets would be persistent.

Would POE give me a more robust solution than this obviously simplistic method? If yes, I would love to give it a go.


Comment on Re^8: Creating Socket Connections that are persistent across multiple page loads in a single web session
Re^9: Creating Socket Connections that are persistent across multiple page loads in a single web session
by gman (Friar) on Jan 05, 2011 at 17:16 UTC

    I am unfamiliar with Dancer, is this the method used or an application? I have had my POE app in production for about 3 months now with %100 uptime. My first thought was to use threads, I have done similar in Java. But never used POE before, so thought I would give it a try and keep the site all perl. I send a keep alive every so many seconds to each server, and have a very low query rate. Currently I run about 150 query a day and each one make several exchanges with the servers for each query.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://880608]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2014-09-24 02:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (244 votes), past polls