日期:2014-05-16  浏览次数:20650 次

unix网络编程的第一个例子都不会!
第一个时间获取程序,编译没错,但执行有问题,大牛帮我看看!
C/C++ code
    
   #include<stdio.h>
    #include<sys/socket.h>
    #include<arpa/inet.h>
    #include<netinet/in.h>
    #include<string.h>
    #define MAX 30
    int main(int argc,char *argv[])
    {
            int sockfd,n;
            char recvline[MAX+1];
            struct sockaddr_in servaddr;
            if(argc!=2)
            {
                    printf("Please input a IP_Address!\n");
                    return 1;
            }
            if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
            {
                    printf("Sock Error!\n");
                    return 1;
            }
            memset(recvline,0,sizeof(recvline));
            servaddr.sin_family=AF_INET;
            servaddr.sin_port=htons(13);
            if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<=0)
            {
                    printf("inet_pton Error!\n");
                    return 1;
            }
            if(connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)
            {
                    printf("connect Error!\n");
                    return 1;
            }
            while((n=read(sockfd,recvline,MAX))>0)
            {
                    recvline[n]=0;
                    if(fputs(recvline,stdout)==EOF)
                    {
                            printf("read Error!\n");
                            return 1;
                    }
                    if(n<0)
                      return 0;
            }
            return 0;
    }


------解决方案--------------------
报错内容是什么?

我试验没问题
./a.out 127.0.0.1

会不会你的daytime服务没有启动?13端口是监听状态吗?
netstat -an|grep -w 13