not reading the server data | developer.brewmp.com not reading the server data | developer.brewmp.com

Developer

not reading the server data

Forums:

hi !

gettin problem in reading back the data from a java server to my brew client.

i hav developed a code where my client in brew gets connected with the server in java . the server recieves and acknoledges back in response but that response dosen't reaches to my client though the server side is done sending the data .

the return value takes the code to NET_WOULD_BLOCK ,indicating tht ther is no data on the socket . hoe is that possible when the java server has already put the data on the network. this problem dosen't arise when i connect a java client with the java servr but things goes wrong in the case where the client is in brew .

wht is the problem and wht can be the possible solutions. one thng for sue tht the data is arriving from the server side ....
noe y at all the brew code is not able to read is somthng out of my mind...

tel me any solutions ..

When you get NET_WOULD_BLOCK status you need to call readable API. BREW will call back your readable callback function when data is ready. There are lots of information about BREW http/socket in SDK API, example and forums.
ruben

When you get NET_WOULD_BLOCK status you need to call readable API. BREW will call back your readable callback function when data is ready. There are lots of information about BREW http/socket in SDK API, example and forums.
ruben

hey buddy !
frst tel me , y it shld go to NET_WOULD_BLOCK when ther is already data on the socket (the server shows it is done sending the data to the client ) .
anyway ! i hav already defined the readable and registered a callback ther , the code goes upto that point but fails to invoke the callback function ....noe wht can be the reason

hey buddy !
frst tel me , y it shld go to NET_WOULD_BLOCK when ther is already data on the socket (the server shows it is done sending the data to the client ) .
anyway ! i hav already defined the readable and registered a callback ther , the code goes upto that point but fails to invoke the callback function ....noe wht can be the reason

Callback fires when socket read/write makes any "progress", where "progress" means success or failure. When you get NET_WOULD_BLOCK you should call Readable interface again, so that BREW can call your application back when data is ready for your application to read. You can read data in blocks (say 2K) and at the end of each read you make readable API call again untill you finish reading data or you encounter an error.
ruben

Callback fires when socket read/write makes any "progress", where "progress" means success or failure. When you get NET_WOULD_BLOCK you should call Readable interface again, so that BREW can call your application back when data is ready for your application to read. You can read data in blocks (say 2K) and at the end of each read you make readable API call again untill you finish reading data or you encounter an error.
ruben

ruben !
frst xplain me y the app should go to readable when data is already ther on the socket ??
as u said , the callback is fired whn ther is some progress , so if the data is ther on the socket , the app wil either read it or fails to read , nd accordingly wil giv return val as either success(in num of bytes read ) or failure .
but in my case , it always gives a ret val of -2 . takin this value , the app goes to Readable , and thn goes to the next step , without invoking the callback function .
can u let me knoe , wht this return val of " -2" indicates ....
at the frst plac , i don't thnk it should go to AEE_NETWOULD BLOCK , as data is already lying on the socket .
and if at all it goes , it should invoke the callback to read the data nd giv som proper ret val .
buddy ! ....y the application fails to make "progress" when the data is lying at its doorsteps .....y don't it goes ahead nd read it ???

ruben !
frst xplain me y the app should go to readable when data is already ther on the socket ??
as u said , the callback is fired whn ther is some progress , so if the data is ther on the socket , the app wil either read it or fails to read , nd accordingly wil giv return val as either success(in num of bytes read ) or failure .
but in my case , it always gives a ret val of -2 . takin this value , the app goes to Readable , and thn goes to the next step , without invoking the callback function .
can u let me knoe , wht this return val of " -2" indicates ....
at the frst plac , i don't thnk it should go to AEE_NETWOULD BLOCK , as data is already lying on the socket .
and if at all it goes , it should invoke the callback to read the data nd giv som proper ret val .
buddy ! ....y the application fails to make "progress" when the data is lying at its doorsteps .....y don't it goes ahead nd read it ???

Possibly you are running out of memory. In AEEError.h see the value of ENOMEMORY error.
Use a packet sniffer in your windows development machine to find out what kind of data you are receiving.
ruben

Possibly you are running out of memory. In AEEError.h see the value of ENOMEMORY error.
Use a packet sniffer in your windows development machine to find out what kind of data you are receiving.
ruben

hi ruben !
thnx for the reply ! but i don't thnk its a problem with memory .
the app reads the data for onc, in the very first call to isocket_read, nd from next time onwards, the prob arises .
and if memory is an issues , thn i thnk isocket_write too should hav faced with this prob, but it's working fine. the problem persists only with the socket read function .
and wht this return val of "-2" from isocket_read function indicates ????
hav cross checked this val and it dosen't relates with ny standard error values .

hi ruben !
thnx for the reply ! but i don't thnk its a problem with memory .
the app reads the data for onc, in the very first call to isocket_read, nd from next time onwards, the prob arises .
and if memory is an issues , thn i thnk isocket_write too should hav faced with this prob, but it's working fine. the problem persists only with the socket read function .
and wht this return val of "-2" from isocket_read function indicates ????
hav cross checked this val and it dosen't relates with ny standard error values .

hi ruben !
thnx for the reply ! but i don't thnk its a problem with memory .
the app reads the data for onc, in the very first call to isocket_read, nd from next time onwards, the prob arises .
and if memory is an issues , thn i thnk isocket_write too should hav faced with this prob, but it's working fine. the problem persists only with the socket read function .
and wht this return val of "-2" from isocket_read function indicates ????
hav cross checked this val and it dosen't relates with ny standard error values .

hi ruben !
thnx for the reply ! but i don't thnk its a problem with memory .
the app reads the data for onc, in the very first call to isocket_read, nd from next time onwards, the prob arises .
and if memory is an issues , thn i thnk isocket_write too should hav faced with this prob, but it's working fine. the problem persists only with the socket read function .
and wht this return val of "-2" from isocket_read function indicates ????
hav cross checked this val and it dosen't relates with ny standard error values .

Quote:
help me out
buddy !
m still lounging on tht vry prob...i tracked out the GetLastError nd it comes out to be ... 516 .
u hav any idea wht this error val " 516 " represensts ??
it dosen't relates to any standard error values given in the api documenatation .
__________________
luv_virus
Hex value of 516 is 0x231, it means socket not connected.

Quote:
help me out
buddy !
m still lounging on tht vry prob...i tracked out the GetLastError nd it comes out to be ... 516 .
u hav any idea wht this error val " 516 " represensts ??
it dosen't relates to any standard error values given in the api documenatation .
__________________
luv_virus
Hex value of 516 is 0x231, it means socket not connected.

hi ruben !
thnx for the response .
buddy ,in my view "socket not connected " is not the possible errorr .
ther are couple of reasons :
1> i thnk the hex val of 516 is ....0x204
the hex val 0x231 represents 561 in decimal ...
nd my return val comin out to b 516 nd not 561 .
2> i mst hav told u , tht my ISocket_Write function is wrkin perfectly ,evry tim it's called by my app .
evn the ISocket_Read function too wrks fine for onc, in the vry frst call to it. but the prob strts afterwards ,whn i call the read function gain to read back the data from the server .
noe , if the socket is not connected , hoe at all the app is performing the write operation on the same socket ????
on thng more...
can i knoe hoe to figure out wht hex val represents wht error val...as u find out in case of 0x231 .
thnx for the ur help so far ....
good day !

hi ruben !
thnx for the response .
buddy ,in my view "socket not connected " is not the possible errorr .
ther are couple of reasons :
1> i thnk the hex val of 516 is ....0x204
the hex val 0x231 represents 561 in decimal ...
nd my return val comin out to b 516 nd not 561 .
2> i mst hav told u , tht my ISocket_Write function is wrkin perfectly ,evry tim it's called by my app .
evn the ISocket_Read function too wrks fine for onc, in the vry frst call to it. but the prob strts afterwards ,whn i call the read function gain to read back the data from the server .
noe , if the socket is not connected , hoe at all the app is performing the write operation on the same socket ????
on thng more...
can i knoe hoe to figure out wht hex val represents wht error val...as u find out in case of 0x231 .
thnx for the ur help so far ....
good day !

May be I was in hurry reading 516 as 561, sorry for misinformation.
516 means Operation would block. See AEEError.h for error codes.
ruben

May be I was in hurry reading 516 as 561, sorry for misinformation.
516 means Operation would block. See AEEError.h for error codes.
ruben

Hi Friends ,
I am facing problem while sending some data to the server ,
i am trying to send some byte array to a server there i have to send 0 byte also but when i am trying to send it is not been sent, i think that brew dosent support byte value '0' , but i can succesfully able to send the same data by my Java program, now insted of 0 i am sending 32 in place of 0 but the server is not responding to my request as the desired value is 0 not 32 the acsii value of both the digits are space/null. i am little bit confused , can you please hepl me out of this problem any suggesion is appreciated .

Hi Friends ,
I am facing problem while sending some data to the server ,
i am trying to send some byte array to a server there i have to send 0 byte also but when i am trying to send it is not been sent, i think that brew dosent support byte value '0' , but i can succesfully able to send the same data by my Java program, now insted of 0 i am sending 32 in place of 0 but the server is not responding to my request as the desired value is 0 not 32 the acsii value of both the digits are space/null. i am little bit confused , can you please hepl me out of this problem any suggesion is appreciated .

Are you sending using ISOCKET or IWEB ?
Are you connecting to an http (web) server, or via tcp?
If it is HTTP and IWEB, are you trying to send 0 bytes in a post (if so, cant you just use GET)? or a single byte "0", or the ascii "0"?
-Tyndal

Are you sending using ISOCKET or IWEB ?
Are you connecting to an http (web) server, or via tcp?
If it is HTTP and IWEB, are you trying to send 0 bytes in a post (if so, cant you just use GET)? or a single byte "0", or the ascii "0"?
-Tyndal

Hi Tyndal,
thanks for reply,
actually i am using net diagnostic sample code to send data , i am using IWEB interface and connecting to HTTP server, i am using POST method for sending data and the sample byte array is b[5]={61,78,71,0,1,2};
actually when i am sending the data only first three values till 71 is getting to the server and ommiting the last three bytes, probably because of 0 in between as when i am replacing the 0 with 32 (ASCII value for space) it is working but i need to send 0 as a byte. the value to be reached there must be 0 not 32. will GEt method work in this situation?

Hi Tyndal,
thanks for reply,
actually i am using net diagnostic sample code to send data , i am using IWEB interface and connecting to HTTP server, i am using POST method for sending data and the sample byte array is b[5]={61,78,71,0,1,2};
actually when i am sending the data only first three values till 71 is getting to the server and ommiting the last three bytes, probably because of 0 in between as when i am replacing the 0 with 32 (ASCII value for space) it is working but i need to send 0 as a byte. the value to be reached there must be 0 not 32. will GEt method work in this situation?

well, if you are using the netdiagnostics code, i think it assumes that the post data is a string, so it is using stuff like STRLEN() to find its length.. if you have a byte in there with a zero, it is assuming that it is the end of the string marker, so it cuts off at that point. You'll need to modify the code to handle binary data..
-Tyndal

well, if you are using the netdiagnostics code, i think it assumes that the post data is a string, so it is using stuff like STRLEN() to find its length.. if you have a byte in there with a zero, it is assuming that it is the end of the string marker, so it cuts off at that point. You'll need to modify the code to handle binary data..
-Tyndal

hi tyndal thanks for an instant reply , i am sending my code sample, if possible advice me what i am doing wrong .
static void WebAction_Start(WebAction *pwa, char *pszUrl)
{
ISourceUtil *pisu;
CNetDiagnosticsApp * pApp = pwa->pParent;
byte b[103];
b[0]=69;
b[0]=69;
b[1]=71;
b[2]=78;
b[3]=1;
b[4]=3;
b[5]=1;
b[6]=2;
b[7]=32;
b[8]=32;
b[9]=4;
b[10]=32;
b[11]=1;
b[12]=(byte)255;
b[13]=19;
b[14]=32;
b[15]=6;
b[16]=47;
b[17]=115;
b[18]=32;
b[19]=4;
b[20]=116;
b[21]=116;
b[22]=116;
b[23]=116;
b[24]=48;
b[25]=115;
b[26]=32;
b[27]=3;
b[28]=82;
b[29]=97;
b[30]=105;
b[31]=17;
b[32]=115;
b[33]=32;
b[34]=36;
b[35]=67;
b[36]=67;
b[37]=49;
b[38]=69;
b[39]=67;
b[40]=70;
b[41]=66;
b[42]=53;
b[43]=45;
b[44]=57;
b[45]=55;
b[46]=51;
b[47]=69;
b[48]=45;
b[49]=52;
b[50]=54;
b[51]=55;
b[52]=67;
b[53]=45;
b[54]=65;
b[55]=54;
b[56]=51;
b[57]=52;
b[58]=45;
b[59]=57;
b[60]=54;
b[61]=48;
b[62]=65;
b[63]=48;
b[64]=48;
b[65]=48;
b[66]=48;
b[67]=48;
b[68]=48;
b[69]=48;
b[70]=54;
b[71]=44;
b[72]=115;
b[73]=32;
b[74]=7;
b[75]=112;
b[76]=108;
b[77]=97;
b[78]=121;
b[79]=101;
b[80]=114;
b[81]=49;
b[82]=45;
b[83]=115;
b[84]=32;
b[85]=6;
b[86]=116;
b[87]=101;
b[88]=115;
b[89]=116;
b[90]=101;
b[91]=114;
b[92]=16;
b[93]=115;
b[94]=32;
b[95]=7;
b[96]=50;
b[97]=46;
b[98]=48;
b[99]=46;
b[100]=48;
b[101]=46;
b[102]=48;
DBGPRINTF("the lenght of b is %d",STRLEN(b));
DBGPRINTF("the lenght of b is %d",sizeof(b));
// look to see if there's POST data, this is totally non-standard,
// but easy to put into tests
//pwa->pszPostData = MALLOC(sizeof(pwa->b));
pwa->pszPostData = MALLOC(300);
DBGPRINTF("the value of pi post data is ---%d",sizeof(pwa->pipPostData) );
STRCPY(pwa->pszPostData ,b );//br
// pwa->pszPostData =pwa->b;
// pwa->pszPostData = STRCHR(pszUrl, 1);
// for(i=0;i<=STRLEN(b);i++)
{
DBGPRINTF("The value of post data is ---- %s",pwa->pszPostData );

// if there's post data, construct a stream for IWeb to consume
// if ((char *)0 != pwa->pszPostData)
if(pwa->pszPostData )
{
// *pwa->pszPostData = 0;
if (SUCCESS ==ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_SOURCEUTIL,(void **)&pisu))
{
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, STRLEN(pwa->pszPostData ), 0, 0,&pwa->pipPostData);
ISOURCEUTIL_Release(pisu);

// initialize the callback, where I'll be called when the request
// completes
CALLBACK_Init(&pwa->cb, WebAction_GotResp, pwa);
pwa->uStart = GETUPTIMEMS();
// start transaction, pass callbacks for web status, web headers
// the extra WEBOPT_HEADER is used to help test what's sent
// (snoop.sh above shows all the headers)
if ((IPeek *)0 != pwa->pipPostData)
{
IWEB_GetResponse(pApp->m_pIWeb,(pApp->m_pIWeb, &pwa->piWResp, &pwa->cb, pszUrl, WEBOPT_HANDLERDATA, pwa,WEBOPT_HEADER, "X-Method: POST\r\n", WEBOPT_HEADERHANDLER, WebAction_Header, WEBOPT_STATUSHANDLER, WebAction_Status, WEBOPT_METHOD, "POST",WEBOPT_BODY, pwa->pipPostData,WEBOPT_CONTENTLENGTH, sizeof(b),WEBOPT_END));
}
else
{
IWEB_GetResponse(pApp->m_pIWeb,(pApp->m_pIWeb, &pwa->piWResp, &pwa->cb, pszUrl, WEBOPT_HANDLERDATA, pwa, WEBOPT_HEADER, "X-Method: GET\r\n",WEBOPT_HEADERHANDLER, WebAction_Header, WEBOPT_STATUSHANDLER, WebAction_Status, WEBOPT_END));
}

hi tyndal thanks for an instant reply , i am sending my code sample, if possible advice me what i am doing wrong .
static void WebAction_Start(WebAction *pwa, char *pszUrl)
{
ISourceUtil *pisu;
CNetDiagnosticsApp * pApp = pwa->pParent;
byte b[103];
b[0]=69;
b[0]=69;
b[1]=71;
b[2]=78;
b[3]=1;
b[4]=3;
b[5]=1;
b[6]=2;
b[7]=32;
b[8]=32;
b[9]=4;
b[10]=32;
b[11]=1;
b[12]=(byte)255;
b[13]=19;
b[14]=32;
b[15]=6;
b[16]=47;
b[17]=115;
b[18]=32;
b[19]=4;
b[20]=116;
b[21]=116;
b[22]=116;
b[23]=116;
b[24]=48;
b[25]=115;
b[26]=32;
b[27]=3;
b[28]=82;
b[29]=97;
b[30]=105;
b[31]=17;
b[32]=115;
b[33]=32;
b[34]=36;
b[35]=67;
b[36]=67;
b[37]=49;
b[38]=69;
b[39]=67;
b[40]=70;
b[41]=66;
b[42]=53;
b[43]=45;
b[44]=57;
b[45]=55;
b[46]=51;
b[47]=69;
b[48]=45;
b[49]=52;
b[50]=54;
b[51]=55;
b[52]=67;
b[53]=45;
b[54]=65;
b[55]=54;
b[56]=51;
b[57]=52;
b[58]=45;
b[59]=57;
b[60]=54;
b[61]=48;
b[62]=65;
b[63]=48;
b[64]=48;
b[65]=48;
b[66]=48;
b[67]=48;
b[68]=48;
b[69]=48;
b[70]=54;
b[71]=44;
b[72]=115;
b[73]=32;
b[74]=7;
b[75]=112;
b[76]=108;
b[77]=97;
b[78]=121;
b[79]=101;
b[80]=114;
b[81]=49;
b[82]=45;
b[83]=115;
b[84]=32;
b[85]=6;
b[86]=116;
b[87]=101;
b[88]=115;
b[89]=116;
b[90]=101;
b[91]=114;
b[92]=16;
b[93]=115;
b[94]=32;
b[95]=7;
b[96]=50;
b[97]=46;
b[98]=48;
b[99]=46;
b[100]=48;
b[101]=46;
b[102]=48;
DBGPRINTF("the lenght of b is %d",STRLEN(b));
DBGPRINTF("the lenght of b is %d",sizeof(b));
// look to see if there's POST data, this is totally non-standard,
// but easy to put into tests
//pwa->pszPostData = MALLOC(sizeof(pwa->b));
pwa->pszPostData = MALLOC(300);
DBGPRINTF("the value of pi post data is ---%d",sizeof(pwa->pipPostData) );
STRCPY(pwa->pszPostData ,b );//br
// pwa->pszPostData =pwa->b;
// pwa->pszPostData = STRCHR(pszUrl, 1);
// for(i=0;i<=STRLEN(b);i++)
{
DBGPRINTF("The value of post data is ---- %s",pwa->pszPostData );

// if there's post data, construct a stream for IWeb to consume
// if ((char *)0 != pwa->pszPostData)
if(pwa->pszPostData )
{
// *pwa->pszPostData = 0;
if (SUCCESS ==ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_SOURCEUTIL,(void **)&pisu))
{
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, STRLEN(pwa->pszPostData ), 0, 0,&pwa->pipPostData);
ISOURCEUTIL_Release(pisu);

// initialize the callback, where I'll be called when the request
// completes
CALLBACK_Init(&pwa->cb, WebAction_GotResp, pwa);
pwa->uStart = GETUPTIMEMS();
// start transaction, pass callbacks for web status, web headers
// the extra WEBOPT_HEADER is used to help test what's sent
// (snoop.sh above shows all the headers)
if ((IPeek *)0 != pwa->pipPostData)
{
IWEB_GetResponse(pApp->m_pIWeb,(pApp->m_pIWeb, &pwa->piWResp, &pwa->cb, pszUrl, WEBOPT_HANDLERDATA, pwa,WEBOPT_HEADER, "X-Method: POST\r\n", WEBOPT_HEADERHANDLER, WebAction_Header, WEBOPT_STATUSHANDLER, WebAction_Status, WEBOPT_METHOD, "POST",WEBOPT_BODY, pwa->pipPostData,WEBOPT_CONTENTLENGTH, sizeof(b),WEBOPT_END));
}
else
{
IWEB_GetResponse(pApp->m_pIWeb,(pApp->m_pIWeb, &pwa->piWResp, &pwa->cb, pszUrl, WEBOPT_HANDLERDATA, pwa, WEBOPT_HEADER, "X-Method: GET\r\n",WEBOPT_HEADERHANDLER, WebAction_Header, WEBOPT_STATUSHANDLER, WebAction_Status, WEBOPT_END));
}

First of all, if you are going to post code, attach it or put it in [code] [/code] tags.
the parts that are most likely causing the problems are when you use STRCPY() and STRLEN() on the binary array data. if there is a 0 byte value in the binary array, STRCPY and STRLEN will assume that that is the end of the array. you should probably use MEMCPY, and you will have to keep track of the length of the binary array separately..

First of all, if you are going to post code, attach it or put it in [code] [/code] tags.
the parts that are most likely causing the problems are when you use STRCPY() and STRLEN() on the binary array data. if there is a 0 byte value in the binary array, STRCPY and STRLEN will assume that that is the end of the array. you should probably use MEMCPY, and you will have to keep track of the length of the binary array separately..

the array size is defined as 103,
when i am using the 32 instead of 0 , the server is responding that it is getting 103 bytes i.e size of array received is 103.
but when i am using 0 in byte array it is just giving the size equals to numbers of first non-zero elements. you are right that whenever it is encoutered the first zero it is assuming the end of byte array , how can i use MEMCPY here as i dont know how can i get the actual sizeof array using MEMCPY?

the array size is defined as 103,
when i am using the 32 instead of 0 , the server is responding that it is getting 103 bytes i.e size of array received is 103.
but when i am using 0 in byte array it is just giving the size equals to numbers of first non-zero elements. you are right that whenever it is encoutered the first zero it is assuming the end of byte array , how can i use MEMCPY here as i dont know how can i get the actual sizeof array using MEMCPY?

DBGPRINTF("the value of pi post data is ---%d",sizeof(pwa->pipPostData) );
STRCPY(pwa->pszPostData ,b );//br
this STRCPY is stopping at the first 0 byte, use MEMCPY instead
MEMCPY(pwa->pszPostData ,b ,103);
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, STRLEN(pwa->pszPostData ), 0, 0,&pwa->pipPostData);
this STRLEN is also stopping at the first 0 byte, you have to use another way of passing in the byte length. in this case, since you know it is 103, just pass 103
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, 103, 0, 0,&pwa->pipPostData);
There may be other cases in your code where you are trying to use STRING functions on BINARY data, causing the same problem.. you will have to check/debug your code to find these problems.. im not going to do your work for you.
-Tyndal

DBGPRINTF("the value of pi post data is ---%d",sizeof(pwa->pipPostData) );
STRCPY(pwa->pszPostData ,b );//br
this STRCPY is stopping at the first 0 byte, use MEMCPY instead
MEMCPY(pwa->pszPostData ,b ,103);
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, STRLEN(pwa->pszPostData ), 0, 0,&pwa->pipPostData);
this STRLEN is also stopping at the first 0 byte, you have to use another way of passing in the byte length. in this case, since you know it is 103, just pass 103
ISOURCEUTIL_PeekFromMemory(pisu, pwa->pszPostData, 103, 0, 0,&pwa->pipPostData);
There may be other cases in your code where you are trying to use STRING functions on BINARY data, causing the same problem.. you will have to check/debug your code to find these problems.. im not going to do your work for you.
-Tyndal

your code works ,thanks a lot !!!! when i used the memcpy function it is working.
i am getting info code 200, can u please do a favour to me by replying me that against this query i want to get a responce as the server is sending some response , it is also in byte array , what must be my step to get that respone..

your code works ,thanks a lot !!!! when i used the memcpy function it is working.
i am getting info code 200, can u please do a favour to me by replying me that against this query i want to get a responce as the server is sending some response , it is also in byte array , what must be my step to get that respone..

how to display data which is coming from server on emulator,
pls can u just give me an idea,the data expected is stock updates and its related map....
im sure dat request is understood by server,im stuck in reading dat data and printing on emulator.....

how to display data which is coming from server on emulator,
pls can u just give me an idea,the data expected is stock updates and its related map....
im sure dat request is understood by server,im stuck in reading dat data and printing on emulator.....