0
    int sock=socket(AF_INET,SOCK_STREAM,0);
    struct sockaddr_in serv_addr;
    memset(&serv_addr, 0, sizeof(serv_addr)); 
    serv_addr.sin_family = AF_INET; 
    serv_addr.sin_addr.s_addr = inet_addr(SERVER_IP); 
    serv_addr.sin_port = htons(SERVER_PORT); 
    std::cout<<bind(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
    std::cout<<listen(sock,100);

    struct sockaddr_in cli_addr;
    socklen_t l=sizeof(cli_addr);
    printf("123");
    int ns=accept(sock,(struct sockaddr*)&cli_addr,&l);
    /* char str[400]; */
    /* while(1) */
    /* { */
    /*  memset(str,0,sizeof str); */
    /*  read(ns,str,400); */
    /*  std::cout<<str; */
    /* } */
    return 0;

This code should print 00123,and wait for connect,but it doesn't print anything.

    int sock=socket(AF_INET,SOCK_STREAM,0);
    struct sockaddr_in serv_addr;
    memset(&serv_addr, 0, sizeof(serv_addr)); 
    serv_addr.sin_family = AF_INET; 
    serv_addr.sin_addr.s_addr = inet_addr(SERVER_IP); 
    serv_addr.sin_port = htons(SERVER_PORT); 
    std::cout<<bind(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
    std::cout<<listen(sock,100);

    struct sockaddr_in cli_addr;
    socklen_t l=sizeof(cli_addr);
    printf("123");
    /* int ns=accept(sock,(struct sockaddr*)&cli_addr,&l); */
    /* char str[400]; */
    /* while(1) */
    /* { */
    /*  memset(str,0,sizeof str); */
    /*  read(ns,str,400); */
    /*  std::cout<<str; */
    /* } */
    return 0;

This code work successly printed 00123.So What happened when it comes to the accept?

I try to check some trouble but it has no change.

zhzhy
  • 19
  • 2

0 Answers0