What is Megaphone?

What is Megaphone?
The Megaphone project is about enhancing open source chat software. Specifically, the goal is to allow ejabberd to support 1,000,000 simultaneous users. See The Plan page for more details on how I plan to solve this problem. See the About this Blog page for more details on why I created this blog.

Friday, February 24, 2012

ECM to Megaphone to ejabberd

I tried hooking up ECM to Megaphone.  It connected and this was good.  Then I tried connecting directly to ejabberd via Pidgin and that worked and that was good.  Then I tried connecting to ejabberd via Pidgin via ECM and that did not work.  While this was not good, it was not surprising.

Looking at what ECM is printing in the way of error messages I saw the following:


config = { server: { host: 'localhost', port: 6280 },
  client: { port: 8280 },
  misc: { prefixLength: 32 } }
server is now listening to port 8280
now connected to localhost:6280


0000000409|00000000000000000000|POST /http-bind/ HTTP/1.1
Host: ubuntu2
User-Agent: Pidgin 2.6.6 (libpurple 2.6.6)
Content-Encoding: text/xml; charset=utf-8
Content-Length: 225


<body content='text/xml; charset=utf-8' secure='true' to='ubuntu2' xml:lang='en' xmpp:version='1.0' ver='1.6' xmlns:xmpp='urn:xmpp:xbosh' rid='2535528048031658' wait='60' hold='1' xmlns='http://jabber.org/protocol/httpbind'/>


sendToServer

This gibberish means that I have to make up less stuff to fill out a blog posting, but it also means that ECM is able to connect to Megaphone and furthermore that I was able to send some fairly credible looking data to Megaphone.

Looking at the ejabberd log I get the following:

=INFO REPORT==== 2012-02-23 10:48:39 ===
D(<0.368.0>:megaphone:57) : megaphone is starting up with Socket = #Port<0.3805>

This means that at least megaphone was able to start up in response to ECM.  I don't see anything from Megaphone in response to the packet sent from Pidgin, which means it's back to the source code to put in more debugging statements.  

When taken together what this all means is that the damn thing isn't working, but I am making some progress.  One can infer a number of things from this, but I choose to think that I am making titanic, frog-like leaps of progress through a swamp of confusing messages.

Really.

Next time: more debugging statements from inside Megaphone.


No comments:

Post a Comment