|

楼主 |
发表于 2004-4-10 22:44:28
|
显示全部楼层
,加上后我刷新了网页还是这样,是不是那个端口已经被征用了呢?对网络的原理不太明白》
- #include <unistd.h>
- #include <linux/socket.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <sys/stat.h>
- int
- main(void)
- {
- int sockfd,connfd;
- struct sockaddr_in servaddr;
- char buff[8192];
- if((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
- printf("socket error\n");
- return(1);
- }
- bzero(&servaddr,sizeof(servaddr));
- servaddr.sin_family=AF_INET;
- servaddr.sin_port=htons(80);
- servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
- for( ; ; ) {
- if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0) {
- printf("bind error\n");
- continue;
- }else
- break;
- }
- for( ; ; ) {
- if(listen(sockfd,10) < 0) {
- printf("listen error\n");
- continue;
- }else
- break;
- }
- for( ; ; ) {
- if((connfd=accept(sockfd,(struct sockaddr *)NULL,NULL)) <0) {
- printf("accept error\n");
- continue;
- }
- if(read(sockfd,buff,strlen(buff)) < 0) {
- printf("read error\n");
- close(connfd);
- continue;
- }
- if(write(STDOUT_FILENO,buff,strlen(buff))<0) {
- printf("write error\n");
- close(connfd);
- continue;
- }
- close(connfd);
- }
- return(0);
- }
复制代码 |
|