Quick summary: I want to make a flash irc backend (using flex) which connects to a irc server and outputs javascript which controls an existing GUI. The project is 40% done, I have a flash irc client which I need to strip and need to communicate with my Javascript GUI. It looks like this now: [login to view URL], and I want to switch the perl part to flash. Besides the usual IRC function I need to call a javascript function when the user have been kicked or glined, and more. The second part of the project is a firewall check which I am not sure how to solve. I wan't flash to try to open a connection to our server on 6667, if it can't open the connection port call a special JS function. I have a testbed on [login to view URL] but I think it only works locally. It's based on [login to view URL]
Long summary:
My name is Niklas and I am the owner and creator of a swedish your chat. We are a IRC chat network with a CGI:IRC web client. About CGI:IRC, from [login to view URL]:
"CGI:IRC is a Perl/CGI program that lets you access IRC from a web browser, it is designed to be flexible and has many uses such as an IRC gateway for an IRC network, a chat-room for a website or to access IRC when stuck behind a restrictive firewall."
In the bottom there is a invisible iframe which starts a cgi scripts on the server which in turn outputs javascript commands to the GUI. Example on [login to view URL] The main problem here is that every connected user is one never-ending perl script. 300 users, 300 perl scripts. Neither of which are ending before the user quites. Each script uses approximately 5-6 MB of ram. 400 users at the same time = 2 400 MB of ram in use. For one single application. I need to free that ram by removing the bottle neck - the perl script. In that same invisible frame I want to start a 1x1 px flash 9 application which in turn connects to the IRC server and outputs the same javascript as the cgi script does. The user won't see the difference, but it will make a huge difference for me.
I have started the project, and I guess I am about 40% done. I have a test bed, I have the Flex application and ability to connect to IRC and output javascript. I need to:
* Create more connection between Flex and JS, currently I only have a couple of the IRC basics (status messages, etc) but I need support for: queries, glines, and so on.
* Beeing able to send commands from JS to Flash.
o Including support for colors, I am not sure how to solve this one and it might not be important. We'll see...
* Create a firewall check to make sure the user isn't blocking port 6667 (i.e corporate network, behind firewall, etc). If he is, call a JS function which in turn will turn on the regular cgi client. The user shouldn't notice any difference.
* Incorporate it to my existing GUI. I will guide you through this, I might even do it myself.
* It should have a XML configuration, with amongs the following configurations:
o Server to connect to
o Port to use
o Default quitmessage
* Flex need to read parameters from somewhere. flashVars or JS. Parameters to read:
o Nickname
o Realname
o Channel
* If the message is to you (starts with your name) it needs to be highlighted with a <span> tag
* If the message mentions you, it needs to be highlighted with a <span> tag.
* Support for bold, underline, colors. Preferbly the user writes %B for bold, %U for underline, %CXX where XX is standard colors (01, 02, 03) (there is a list).
Notes:
* Experience with IRC is a plus
* I am not sure if the flex client I have got support for several who replies (very large channels). But I need it fixed if not.
* If you've created your own flash irc client before, feel free to use it.
I have a testbed on [login to view URL] but I think it only works locally. It's based on [login to view URL]
However, if you prefer you could code your own flash irc client (it's a rather simple socket communication) I welcome it.
Of course this is not all the specifications, but you will get an accurate idea of the scale of the project.