With the changes I made yesterday (changing from write to send) it made it through the night, I have since added a line of debug output so I can detect if this was the issue with all of my crashes, but I am pleased this one is done.
I have been over the last couple of days writing a middleware layer to plcd to provide output as JSON. It is a pretty simple thing using the spring framework that simply accepts the REST calls and translates them into the appropriate plc network protocol and returns the results. For example, performing a 'GET' on /devices returns an array of devices that was retrieved by issuing "GET DEVICES:" to plcd. Unfortunately as web services cannot provide push notifications, I don't want this to be the only method used to access plcd over the network, as I have clients that accept the commands from the network thread and update their knowledge based on them. I do think there is at least a little use to this wrapper though. I am thinking of updating my php client to use this layer, we will have to see how much time I have!