Wavecom numbering can be a little cryptic sometimes. I’m referring to the version contained in the OpenAT 2.30 package, along with firmware revision R7.4. You can get the latest versions from the Products/Downloads section of the Wavecom website after you have logged in with a Developer login.
Hmm, I think that you’re missing something here about TCP servers. It’s my (limited) understanding from writing a couple of (linux) based server apps, that the server listens on a socket for inbound connections. Once the inbound connection is accepted, another data socket (on another port) is negotiated between the server and the client and all further comms between server and that client occurs over the new port. This allows the original port to be put back into listening mode for the next incoming connection - and the data transfer to take as long as is required.
I’m not sure at which point in the TCP protocol that this ‘port shuffle’ takes place, but I recall that was pretty transparent to me as the application programmer. I wrote a simple multi-threaded app to handle the multiple, simultaneous inbound connections. You don’t have to do it multi-threaded though - you can also fork() (in unix - not sure about windows) your app each time you get a new inbound connection.
It sounds like you need to do a bit of work on your server end to let the server handle multiple simultaneous connections. If you can’t do this, your WIP code will also have to deal with the server not accepting connections because it’s busy - 1000 connections every 15 minute (900 seconds) means that your server has to set up a connection, transfer data, tear down connection and then get ready for the next inbound connection in 900 milliseconds. You’re also transferring data at 44kbits/sec (max speed of GPRS).
Look to your server and make it handle multiple, concurrent connections - or change to a protocol that will let you do this (i.e. HTTP & Apache would probably eat this sort of connection on a reasonable PC).
Just my 2 cents.