TCP sockets
Another method for connecting components to the Jabber backbone, in fact the most flexible method, uses a TCP sockets connection. This means that a component connected in this way can reside on the same or a different server than the one running jabberd. So instead of being loaded directly into the jabberd backbone, TCP sockets-connected components exist and run as separate entities and can be started and stopped independently.
Note
It is possible to modify the contents of the configuration while the Jabber server is running and then send a hangup (HUP) signal to the jabberd processes. This causes the configuration file to be reread, allowing for any new library loaded components to be started and any old ones to be stopped. However, you may run into some problems with this; hopefully, these will be addressed in future bug fixes.
The configuration syntax for defining a connection point for a component that is going to connect to the backbone via TCP sockets looks like this:
<accept> <ip>127.0.0.1</ip> <port>9001</port> <secret>shhh</secret> </accept>
The name for this TCP sockets tag configuration stanza is
<accept/>, reflecting the low-level socket
library call accept() to which it directly relates.
As <load/> is to
the library load method, so
<accept/> is to
the TCP sockets method.
The <accept/> tag usually has three child
tags:
<ip/>,
<port/>, and
<secret/>.
There is a fourth tag
<timeout/> with which you can control the heartbeat monitor of this component ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access