|

楼主 |
发表于 2004-4-3 21:02:47
|
显示全部楼层
- #include <stdio.h>
- #include <sys/socket.h>
- #include <errno.h>
- #include <netinet/in.h>
- #include <sys/types.h>
- #include <unistd.h>
- #define LISTENQ 8019
- #define BUFSIZE 8129
-
- int
- main(int argc, char **argv)
- {
- int listenfd, connfd;
- socklen_t len;
- struct sockaddr_in servaddr, cliaddr;
- char buf[BUFSIZE];
- if((listenfd = sock(AF_INET, SOCK_STREAM, 0))<0)
- perror("socket error");
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family=AF_INET;
- servaddr.sin_port =htons(13);
- servaddr.sin_addr.s_addr=INADDR_ANY;
- if(bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr))<0)
- {
- perror("bind");
- exit(1);
- }
- if(listen(listenfd, LISTENQ)<0)
- {
- perror("listen");
- exit(1);
- }
- for ( ; ; ){
- len = sizeof(cliaddr);
- if(connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &len)<0)
- {
- perror("accept");
- exit(1);
- }
- if(recv(connfd,buf, BUFSIZE,0)<0)
- {
- perror("recv");
- exit(1);
- }
- write(connfd, buf, BUFSIZE);
- if (send(connfd, buf, BUFSIZE,0)<0)
- {
- perror("send");
- exit(1);
- }
- close(connfd);
- close(listenfd);
- }
- exit(0);
- }
复制代码
第一次写,错误多多,望高手指点一下! |
|