Problem with TCP IP connection on RCM3365

I am using following program on my rabbit device(RCM3365) in order to get some data from a web server,

This program is a little extension of the sample program (ACTIVE.C) that is available with Dynamic C .

In the web server I have a php script which returns a time variable when invoked,

The problem I am facing is when I try to call the getData() function in 5 sec intervals

I can get data for three requests but after that,

I�m getting an runtime error saying that there are no more sockets available.

Then I have tried defining the socket variable globally,

In that case I can go up to around 24 tries after that I am getting a runtime error saying �Xmem allocation failed (Out of memory)�.

what am i doing wrong?

void getData()
char buffer[100];
int bytes_read;

sock_buf_len = 4096;
sock_buf = xalloc(sock_buf_len);


printf( "initializing..

" );

// Wait for the interface to come up
while (ifpending(IF_DEFAULT) == IF_COMING_UP) {

if( 0L == (destIP = resolve(DEST)) ) {
	printf( "ERROR: Cannot resolve \"%s\" into an IP address

", DEST );

tcp_extopen(&socket, IF_ANY, 0, destIP, 80, NULL, sock_buf, sock_buf_len);

printf("Waiting for connection...

while(!sock_established(&socket) && sock_bytesready(&socket)==-1) {
sock_write(&socket,"GET /time.php

do {

	if(bytes_read>0) {
		buffer[bytes_read] = '\0';
} while(tcp_tick(&socket));



define the tcp socket variable globally…

call sock_init(); ONLY once in side the main program,

in the sendData() method re initiate the socket if its not “alive” this can be checked using sock_alive(&socket),

my problem is solved…