07.30.07
New sockets handlers
We’ve added two important sockets elements to the Bigfoot library. The first is support for server sockets. In Nest and other spots we were using the traditional PHP sockets handling routines, which are unfortunately synchronous and don’t do buffering of multiple messages very well. By adding a sockets server to use our own handler, you get a high-performance, multi-client, asynchronous server sockets library.
To illustrate the usage of this facility we added a very simple SMTP server example. The theory behind this type of module would be to support message injection via e-mail, such as if you want a vendor to send you invoices but you or they don’t want to use SOAP.
We’ve also added ‘RAW’ protocol handlers. Setting up a low-level socket was hard before because of the way Bigfoot handles protocols - sockets are used by protocol handlers, but not managed by Bigfoot itself. The RAW protocols (client and server) are interfaces to the low-level sockets classes that you can use to implement sockets without protocol handlers in front of them, so you can do your own processing. These might be good for custom or binary protocols.
In future releases we plan to keep adding protocol handlers, and also add some more fully functional demo applications that do real work. We’re considering adding a GNUCash/similar integration module to show how you might integrate with an accounting system. Stay tuned.