I am trying to replace my Arduino wifi shield with digi's xbee wifi modules. I am working through my code to use the xbee wifi module.
So far I have found no way to initiate a connection to a remote server other than just sending data to serial port in transparent mode, or use one of the two API send headers. Also I found no way to check the status of the socket created by such methods above. That layer of details seems to be all handled inside the firmware.
What I wanted to do is to have functions that parallel arduino wifi library, such as client.connect(server_address,port) to report success and failure in the connection, BEFORE I send anything out. Then I also want a method to test the status of socket with client.connected() so I can decide whether to wait for more response characters or consider response is complete.
With arduino library, I can start a connection, test it has started, send in my HTTP header with connection-type:close, send the request, and wait on response and test client.connected() to return false and stop waiting around. With xbee wifi, the only safe way I find to not miss any characters is to set a long TCP timeout and just wait for that long before considering I received a complete response. Maybe it works on bench top not in the field.
I can understand all the xbee module cross compatibility issues here that forced xbee wifi to have such simple mode of operation but not being able to initiate connection and test socket status is a serious problem.