2013-02-13 155 views
0

首先檢查參數並創建一個可以連接到服務器的套接字,並定義一個文件,我可以在其中寫入HTTP請求,數據,我需要處理我們已閱讀的行,通過getline,之後,我應該檢查流的結束和流的結束,我需要關閉流並退出。但我不知道如何檢查Endofline ...和whther我寫的格式是正確的如何檢查HTTP客戶端的EOF使用fdopen()和getline()

int main(int argc, char *argv[]) 
{ 
if(argc<2) //checking arguments 
{ 
printf("expected a name for resolving"); 
exit(1); 
} 

int sock = createSocket(argv[1], argv[2]); 
FILE *stream = getStream(sock); 
printf("\n###### CLIENT IS SENDING THE FOLLOWING TO THE SERVER\n"); 
fputs("GET /HTTP/1.0\n Host:Google.com\n Connection:close \r\n\r\n",stream); 

while(1) 
{ 
char *string = NULL; 
int len = getLine(&string, stream); 
int numbytes=0; 
printf("The length of string: %d\n",len); 
printf("#####CLIENT RECEIVED THE FOLLOWING FROM SERVER \n%s", string);  

while (fgetc(stream) != EOF) 
++numbytes; 
fclose(stream); 
printf("##### Connection closed by server"); 
exit(EXIT_SUCCESS); 
free(string); 

} 


} 
+0

我不明白的問題,或者代碼。你爲什麼只讀一行,然後扔掉所有其他輸入,直到EOS?這裏的目的是什麼? – EJP 2013-02-13 09:38:05

回答