This is a great question, and not academic for me. Thanks. I'm working on a system which needs to run a 3000-user chat (through web input forms or maybe irc clients), do something with the information that is chatted, and serve web pages at a lower rate. Some parts of it would resemble IRC except that some other interesting things will be happening.

I just read some parts of the Stem Systems site and it is very interesting! Though I was thinking an apache mod_perl server, or possibly a mod_perl server that logged into an irc server as a bot, might be the ticket. My own application will not be injecting messages into the chat stream, but processing them, and certainly there has to be a bridge from the live-message-stream paradigm to the apache hybrid page server paradigm. Maybe stem would be overkill, or maybe it could pay for itself in a couple of development cycles. Can't tell yet.

But while Stem so far emphasizes system administration tasks, it might also be the answer to the P2EE folks' work.. at once relevant to a lot of things Perl people do now, instead of what people think we should be doing in the future. It has config files, messaging, and a cookbook of networking tools. Has anyone used this? It seems very cool that you can spread your objects across a number of servers, I guess failover is the next thing to sprout? (sorry.) Stem does not yet guarantee message delivery which could maybe be a problem if used as an IRC client.

In comparison, POE which seems to be used for lots of IRC bots is apparently good enough to run stock exchange operations and handles high snort load with loghog. I guess the choice is between serving all chat from a slower main program so you don't miss anything, or sync with a stream and hope you don't get kicked or overloaded.

One thing though, not that I expect it would be a problem considering the people involved, but you have to jump through some hoops to get it. In fact I have just stopped myself from downloading it because I don't want to have to fill out the very long questionnaire twice, once now and once when I get back to my office in some days.

I figure when they say it will be GPL by 0.06 this might have to do with hammering things down for Perl 6..? But it says only free for noncommercial use and I'm not sure how that would work. Perhaps this means I would owe Stem money if I get paid? That isn't GPL, kind of shades o' gray. Any ideas merlyn (an advisor to Stem Systems) ?

I think it could be quite hot to have a high power IRC-compatible module in Stem, the sample code of which has objects responding to tty messages. Wondering about performance and security.. humm better start reading.

Update: POE::Wheel::FollowTail might be the answer. Run a proven bulletproof IRC server, and use this module to feed POE with the chat log line by line as it grows. Or maybe do the same thing without POE, erm. More studying..


In reply to Re: Perl chat server? by mattr
in thread Perl chat server? by jasonjohn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.