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.

Saturday, March 3, 2012

Missed Connections

Previously...
  • I discovered a problem in the receive logic.
  • The ECM module needs to send raw TCP instead of just the HTTP bodies.
  • I got my old computer working (go me!)

I looked into why ECM was only sending HTTP bodies instead of the raw TCP and discovered to my surprise that it already was sending the raw stuff instead of the cooked (so to speak).  For example, I saw the following in the ejabberd log:

=INFO REPORT==== 2012-03-02 19:00:52 ===
D(<0.365.0>:megaphone_receiver:171) : sending <<"POST /http-bind/ HTTP/1.1\r\nHost: ubuntu2\r\nUser-Agent: Pidgin 2.6.6 (libpurple 2.6.6)\r\nContent-Encoding: text/xml; charset=utf-8\r\nContent-Length: 225\r\n\r\n<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='2295576070108896' wait='60' hold='1' xmlns='http://jabber.org/protocol/httpbind'/>">> to megaphone

This is definitely raw TCP data for an HTTP connection.

After putting in more debugging statements I think that the problem may be that megaphone is not kicking anything off on the client side when it gets data.  This will require more rumination.

Next time: more rumination.

No comments:

Post a Comment