亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 7134 | 回復: 15
打印 上一主題 下一主題

為什么read函數(shù)會阻塞 很久才執(zhí)行完 而且無任何顯示 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-05-17 15:29 |只看該作者 |倒序瀏覽
#include<stdio.h>  
#include<string.h>  
#include<sys/socket.h>
#include<errno.h>  
#include<stdlib.h>  
#include<netinet/in.h>
#define MAXLINE 1024
#define MMFCPORT 80
int main(int argc,char *argv[]){
     struct sockaddr_in srv;
     int sock, nbytes;     
     if((sock = socket(AF_INET,SOCK_STREAM,0))==-1){  
         fprintf(stderr, "socket() error! %s \n",strerror(errno));
         exit(1);
     }
     bzero(&srv,sizeof(srv));
     srv.sin_family = AF_INET;  
     srv.sin_addr.s_addr = htons(INADDR_ANY);
     srv.sin_port = htons(MMFCPORT);  
     if((connect(sock,(struct sockaddr *)&srv,sizeof(struct sockaddr))) == -1){  
         printf("connect() error! %s\n",strerror(errno));  
         exit(1);  
     }
     char recbuf[MAXLINE+1];
     while((nbytes = read(sock,recbuf,MAXLINE))!=0){  
          recbuf[nbytes] = '\0';  
          printf("%s",recbuf);  
     }
     printf("response end\n");
     close(sock);
     return 0;
}

執(zhí)行結(jié)果
mmxcq@ubuntu:~/下載/hightall$ ./client
response end
mmxcq@ubuntu:~/下載/hightall$
我是想去獲取apache的http://127.0.0.1的內(nèi)容
大家?guī)兔χ刚幌挛业腻e誤阿 謝謝

論壇徽章:
0
2 [報告]
發(fā)表于 2010-05-17 15:55 |只看該作者
期待高手???

論壇徽章:
0
3 [報告]
發(fā)表于 2010-05-17 16:04 |只看該作者
read函數(shù)就是會一直讀,直到讀到數(shù)據(jù),或者出錯了為止的。
你不關socket,就是這樣的讀,當然得等到server強行把你關了為止了!

論壇徽章:
0
4 [報告]
發(fā)表于 2010-05-17 16:15 |只看該作者
read函數(shù)就是會一直讀,直到讀到數(shù)據(jù),或者出錯了為止的。
你不關socket,就是這樣的讀,當然得等到server ...
naihe2010 發(fā)表于 2010-05-17 16:04

你好 我最近才研究c  但是我這里執(zhí)行了幾秒鐘  而且是鏈接同一機子上面的apache 應該不會這么慢阿
我根目錄下面就一個index.html里面有幾個字符
請問一下該怎么用c讀取http://127.0.0.1的內(nèi)容 謝謝

論壇徽章:
0
5 [報告]
發(fā)表于 2010-05-17 16:17 |只看該作者
連接不會這么慢。我的意思是說,你使用了阻塞的read。read會一直讀下去,直到出錯為止。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-05-17 16:19 |只看該作者
而且,你也沒有給server發(fā)送請求。

HTTP是請求、應答式的。你不發(fā)請求,服務器直到超時后,把你關掉了完事兒了。

論壇徽章:
0
7 [報告]
發(fā)表于 2010-05-17 16:19 |只看該作者
你在讀以前,先發(fā)給它

GET / HTTP/1.0\r\n
Host: 127.0.0.1\r\n
\r\n

吧!

論壇徽章:
0
8 [報告]
發(fā)表于 2010-05-17 16:25 |只看該作者
我發(fā)了 提示400錯誤

論壇徽章:
0
9 [報告]
發(fā)表于 2010-05-17 16:26 |只看該作者
HTTP/1.1 400 Bad Request
Date: Mon, 17 May 2010 08:24:56 GMT
Server: Apache/2.2.14 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 241
Connection: close
Content-Type: text/html; charset=iso-8859-1

response end

論壇徽章:
0
10 [報告]
發(fā)表于 2010-05-17 16:37 |只看該作者
GET / HTTP/1.0\r\nHost: 127.0.0.1\r\n\r\n

這一行不要有換行什么的其它字符了


另外,你最好讀一下HTTP的標準。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP