首先檢查參數並創建一個可以連接到服務器的套接字,並定義一個文件,我可以在其中寫入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);
}
}
我不明白的問題,或者代碼。你爲什麼只讀一行,然後扔掉所有其他輸入,直到EOS?這裏的目的是什麼? – EJP 2013-02-13 09:38:05