当前位置:  技术问答>linux和unix

unp(3rd) 非阻塞connect Web客户程序,connect()无法成功

    来源: 互联网  发布时间:2017-03-18

    本文导语:  P357页 的home_page() 调用了 tcp_connect() (P255) ,但是我运行可执行程序 ,都出错在tcp_connect()函数,其中的connect()都建立不了连接。 perror()显示 Invalid arguments 错误。 我链接的域名 www.baidu.com 等网站, 我的网络...

P357页 的home_page() 调用了 tcp_connect() (P255) ,但是我运行可执行程序
,都出错在tcp_connect()函数,其中的connect()都建立不了连接。 perror()显示 Invalid arguments 错误。
我链接的域名 www.baidu.com 等网站, 我的网络绝对OK,不知道怎么办?那位大侠帮帮忙!!!感激不尽


|

我复制了代码,没有问题啊。只是段代码与“非阻塞”没有关系啊。

fb82:/home/mymtom/src/tcp$ cat tcp.c
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 

int tcp_connect(const char *host,const char *serv)
{
        int sockfd,n;
        struct addrinfo hints,*res,*ressave;
        bzero(&hints,sizeof(struct addrinfo));

        hints.ai_family = AF_UNSPEC;
        hints.ai_socktype = SOCK_STREAM;
        if((n = getaddrinfo(host,serv,&hints,&res)) != 0)
        {
                perror("get addrinfo errorn");
                exit(0);        
        }
        ressave = res;
        if(ressave == NULL)
        {
                printf("can't get the addrinfon");
        }
        do
        {
                sockfd = socket(res->ai_family,res->ai_socktype,res->ai_protocol);
                if(sockfd ai_addr,res->ai_addrlen) == 0)
                break;
                
                close(sockfd);        
        }while((res = res->ai_next) != NULL);
        if(res == NULL)
        {
                perror("tcp connect errorn");
                exit(0);
        }
        freeaddrinfo(ressave);
        return sockfd;
}

int main(int argc, char *argv[])
{
        int sockfd;
   
        sockfd = tcp_connect("www.baidu.com", "80");
        system("netstat -nf inet | grep tcp | grep '.80 '");
        close(sockfd);

        return 0;
}
fb82:/home/mymtom/src/tcp$ make tcp
cc -O2 -pipe   tcp.c  -o tcp
fb82:/home/mymtom/src/tcp$ ./tcp
tcp4       0      0 192.168.118.130.43549  119.75.217.56.80       ESTABLISHED
fb82:/home/mymtom/src/tcp$ 


|
说明connect参数传错了。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求unp.h头文件
  • 做最简单的socket客户端,怎么找不到unp.h?
  • #include "unp.h" 用在linuxKDE下编程时候,为何说找不到?
  • 关于unp书中一个例子问题
  • 关于UNP的一些疑惑
  • unp中,结构名和函数名相同,可以啊?
  • 请问谁有unp.h文件??急,散分
  • unp(unix network programming)中的示例是针对 BSD 的,如何移植到 LINUX 上来?
  • 求教,UNP2 FIFO章节的问题
  • unix网络编程unp.h有关问题
  • unp发送与接收的时间间隔问题以及接受后的数据包问题!
  • 《UNIX网络编程》中unp.h文件的使用问题
  • unp+kdevelop的调试问题
  • mutex问题,UNP2上的程序
  • 请教一个socket 问题,例子来源于unp31
  • 已经看过 UNP第一卷,花了一天时间看了看精华区,还是有一些问题想请教各位大侠


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3