Data transfer regularity of GETrequest

I've built an Arduino sketch that transfers a string to a server via a modified GETrequest, and using netcats, I've verified that it works. However, the problem is that it seems like the data is only sent once, even though the call to submit() occurs repeatedly in the loop() section of the sketch. The reason I want to transfer repeatedly is that the Arduino is collecting sensor data.

I know this problem could be due to some weirdness with the WiServer library I use, but before I go digging into that I want to make sure it's not something obvious. My thought is that maybe the WiServer.print(json) only occurs once when the RAWrequest is made?

EDIT: IT appears that my guess was correct, as when I duplicate the WiServer.print(json) line the data shows up in the server window twice. Given this information, can anyone offer suggestions on how to fix the problem? I've tried redeclaring sendInfo in the main loop, but that seems to break things.

Here is the code (minus a bit of boilerplate for connecting to a WiFi hotspot. I know that part works, so no worries there I think):

I've built an Arduino sketch that transfers a string to a server via a modified GETrequest, and using netcats, I've verified that it works. However, the problem is that it seems like the data is only sent once, even though the call to submit() occurs repeatedly in the loop() section of the sketch. The reason I want to transfer repeatedly is that the Arduino is collecting sensor data.

I know this problem could be due to some weirdness with the WiServer library I use, but before I go digging into that I want to make sure it's not something obvious. My thought is that maybe the WiServer.print(json) only occurs once when the RAWrequest is made?

EDIT: IT appears that my guess was correct, as when I duplicate the WiServer.print(json) line the data shows up in the server window twice. Given this information, can anyone offer suggestions on how to fix the problem? I've tried redeclaring sendInfo in the main loop, but that seems to break things.

Here is the code (minus a bit of boilerplate for connecting to a WiFi hotspot. I know that part works, so no worries there I think):

#include <WiServer.h>

#define WIRELESS_MODE_INFRA    1
#define WIRELESS_MODE_ADHOC    2
#define AREF_VOLTAGE 5
const int tmpPin = A0;
int tmpReading = 0;


void createBody()
{
  //demo json, replace with senosr values obtained via call to getTmp
  char json[] = "{\"Id\":0,\"Version\":0,\"Name\":\"Toilet 2\",\"Sensors\":[{\"Id\":0,\"Version\":0,\"Measurements\":[{\"Time\":\"\\/Date(1295820124154+0100)\\/\",\"Value\":1}],\"Name\":\"Dor\"},{\"Id\":0,\"Version\":0,\"Measurements\":[{\"Time\":\"\\/Date(1295820124155+0100)\\/\",\"Value\":1}],\"Name\":\"Tonden\"}]}";
  WiServer.print(json);
}

uint8 ip[] = {199,168,19,100};
int port = 10000;
RAWrequest sendInfo(ip,port, NULL, createBody); //create our TCP/IP object. It is tied to the ip and port specified and contains the json[] string above.

void setup() {
  WiServer.init(NULL);
  Serial.begin(9600);
  WiServer.enableVerboseMode(true);//essentially 'debugging=on'. allows us to get feedback from strategically placed Serial.print("user message")s within the included libraries, amongst other things. The print commands allow us to watch the way the sketch executes in the same way we use print statements to watch how software executes.
}

// Time (in millis) when the data should be retrieved
long updateTime = 0;

void loop()
{
 // Check if it's time to get an update
  if (millis() >= updateTime)
  {
    Serial.println("Start transmission");
    sendInfo.submit();
    Serial.println("End transmission");
    updateTime += 1000 * 5;
    Serial.println(updateTime);
    if (updateTime > 40000) {

    }
  }
  WiServer.server_task();
  delay(10);
}