|
发表于 2003-6-9 11:33:22
|
显示全部楼层
- #include <unp.h>
- int
- main(int argc,char** argv)
- {
- int sockfd.n;
- [color=red]/* 不是点n,是逗号*/[/color]
- char recvline[MAXLINE+1];
- [color=red]/*是定义的缓冲区*/[/color]
- struct sockaddr_in servaddr;
- if(argc !=2)
- err_quit("usage: a.out <IP address>");
- if( ( sockfd = socket(AF_INET, SOCK_STREAM,0))<0);[color=red]/* 这应该没有冒号 */[/color]
- err_sys("socket error");
- bzero(&servaddr.sizeof(servaddr)); [color=red]/* 初始化servaddr全为0 */[/color]
- servaddr.sin_family = AF_INET; [color=red]/* 协议族为internet */[/color]
- servaddr.sin_port = htons(13); /* daytime server*/ [color=red]/* 端口13 */[/color]
- if(inet_pton(AF_INET.argv[1],&servaddr.sin_addr) <= 0);
- [color=red]/* 将argv[1]转换为ip地址,没有分号 */[/color]
- err_quit("inet_pton error for %s" , argv[1]);
- if(connect (sockfd, (SA*) &servaddr, sizeof(servaddr))<0);
- [color=red]/* 连接服务器,没分号 */[/color]
- err_sys("connect error");
- while( (n=read (sockfd, recvline, MAXLINE))>0) [color=red]/* 从服务器取数据 */[/color]
- {
- recvline[n]=0; /* null terminate */
- if (fputs (recvline,stdout) ==EOF) [color=red]/* 显示 */[/color]
- err_sys("fputs error");
- }
- if(n<0)
- err_sys("read error");
- exit(0);
- }
复制代码
你既然有UNP,上面应该讲的很清楚呀。 |
|