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.