Click here to Skip to main content
11,413,961 members (75,996 online)

Web Development

 
AnswerRe: HUGE Web Service Performance Issue Pin
jkirkerx, 21-Sep-12 12:04
memberjkirkerx21-Sep-12 12:04 
GeneralRe: HUGE Web Service Performance Issue Pin
Mohibur Rashid, 22-Sep-12 4:00
memberMohibur Rashid22-Sep-12 4:00 
GeneralRe: HUGE Web Service Performance Issue Pin
jkirkerx, 22-Sep-12 9:35
memberjkirkerx22-Sep-12 9:35 
GeneralRe: HUGE Web Service Performance Issue Pin
manak chand, 22-Oct-12 1:24
membermanak chand22-Oct-12 1:24 
SuggestionStore the history of links the user visits of any browser Pin
VijayChauhan123, 19-Sep-12 19:21
memberVijayChauhan12319-Sep-12 19:21 
GeneralRe: Store the history of links the user visits of any browser Pin
Andrei Straut, 19-Sep-12 22:09
memberAndrei Straut19-Sep-12 22:09 
GeneralRe: Store the history of links the user visits of any browser Pin
S.M. Zamshed Farhan, 12-Jan-13 16:31
memberS.M. Zamshed Farhan12-Jan-13 16:31 
Questionsocket read on a keep alive request waits until connection timeout Pin
Jayapal Chandran, 17-Sep-12 5:50
memberJayapal Chandran17-Sep-12 5:50 
How to know whether the server has no data while reading the response of a request which is keep alive because the socket read function waits for the server to send data if we have made a request with keep alive option.

I am writing a socket program to fetch a webpage.

My request header has no connection close header so by default the connection is keep alive.

I open a connection, send the request header using socket_write and getting using a while loop to receive data
if it is a Connection Close request the everything works well.

if it is keep alive and after i have read the content the socket_read function is still waiting for data which causes the code to hand in there.

Here how do we know whether the server has completed sending the resource though it is keep alive...

i have a work around like checking the content-length response header to know how much data is received and accordingly i can stop reading

or

if response header has transfer-encoding as chunked then i can write more code to find the end of the response

yet without the above two workarounds how to check whether the socket_recv is still waiting for data?

Besides, i was thinking that since we are setting the read buffer length (like 1024 in this code) and the socket_recv is returning the no of bytes read and if the bytes read is less than 1024 then i can assume that the next read will not return anything and by this time i can quit the while loop.... BUT http server sends different length response so my logic will not work.

Here is my request header and the while loop in which i receive date from the server

//i have commented the connection close header so that by default it will be keep alive

$o = 'GET /search?hl=en&q='.$query.'&start='.$start.' HTTP/1.1'."\r\n";
$o.= 'Host: www.google.co.in'."\r\n";
$o.= 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0'."\r\n";
//$o.= 'Connection: close'."\r\n";
$o.= "\r\n";
 
//writing $o to the socket resource

//receiving the response

do
{
    $bytes = socket_recv($f, $tbuf, 1024, 0x40);
 
    if($bytes === false)
              die("\r\nUnable to read headers - ".socket_strerror(socket_last_error()));
 
    echo "\r\n".$bytes;
 
    if(!$bytes)break;
 
    $buf.= $tbuf;
}while(1);

In the above code after i have received the complete html of a webpage the control is in the line where i am reading the response. Which i assume the code is still waiting for data from the server.

Suggestions, comments and advice's are welcome.

http://vikku.info/

Today's Beautiful Moments are
Tomorrow's Beautiful Memories


QuestionPHP Pin
dashing_z, 14-Sep-12 15:23
memberdashing_z14-Sep-12 15:23 
AnswerRe: PHP Pin
Mike-MadBadger, 14-Sep-12 21:43
memberMike-MadBadger14-Sep-12 21:43 
GeneralRe: PHP Pin
Joan Murt, 17-Sep-12 2:00
memberJoan Murt17-Sep-12 2:00 
SuggestionRe: PHP Pin
Mohibur Rashid, 16-Sep-12 5:22
memberMohibur Rashid16-Sep-12 5:22 
AnswerRe: PHP Pin
Joan Murt, 17-Sep-12 1:59
memberJoan Murt17-Sep-12 1:59 
AnswerRe: PHP Pin
Killzone DeathMan, 21-Sep-12 2:03
memberKillzone DeathMan21-Sep-12 2:03 
AnswerRe: PHP Pin
Mighty Raju, 27-Sep-12 3:58
memberMighty Raju27-Sep-12 3:58 
AnswerRe: PHP Pin
ramonwilson, 1-Oct-12 23:21
memberramonwilson1-Oct-12 23:21 
AnswerRe: PHP Pin
S.M. Zamshed Farhan, 12-Jan-13 16:33
memberS.M. Zamshed Farhan12-Jan-13 16:33 
QuestionCSS Placeholder question Pin
spankyleo123, 12-Sep-12 2:47
memberspankyleo12312-Sep-12 2:47 
AnswerRe: CSS Placeholder question Pin
mark merrens, 12-Sep-12 6:36
membermark merrens12-Sep-12 6:36 
Questionwhat is camera icon beside image search of google Pin
hosseinDolat, 11-Sep-12 22:44
memberhosseinDolat11-Sep-12 22:44 
AnswerRe: what is camera icon beside image search of google Pin
Sandeep Mewara, 11-Sep-12 23:18
mvpSandeep Mewara11-Sep-12 23:18 
GeneralRe: what is camera icon beside image search of google Pin
hosseinDolat, 12-Sep-12 1:25
memberhosseinDolat12-Sep-12 1:25 
GeneralRe: what is camera icon beside image search of google Pin
Sandeep Mewara, 12-Sep-12 1:35
mvpSandeep Mewara12-Sep-12 1:35 
AnswerRe: what is camera icon beside image search of google Pin
Mohibur Rashid, 12-Sep-12 0:42
memberMohibur Rashid12-Sep-12 0:42 
GeneralRe: what is camera icon beside image search of google Pin
hosseinDolat, 12-Sep-12 1:24
memberhosseinDolat12-Sep-12 1:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web03 | 2.8.150427.2 | Last Updated 27 Apr 2015
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid