当前位置: 技术问答>linux和unix
求助:c/s的多线程无法实现
来源: 互联网 发布时间:2016-12-29
本文导语: 下面是我的代码, 不知道为什么每次跟client通信一次之后就不会再阻塞在accept, 而是直接默认已经accept过了, 可是我明明close了的。 #include #include #include #include #include #include #include #include void showCli...
下面是我的代码, 不知道为什么每次跟client通信一次之后就不会再阻塞在accept, 而是直接默认已经accept过了, 可是我明明close了的。
#include
#include
#include
#include
#include
#include
#include
#include
void showClient(struct sockaddr_in cliaddr) {
printf("nThe IP of client is:%s",inet_ntoa(cliaddr.sin_addr));
printf("nThe Port of client is:%dn",ntohs(cliaddr.sin_port));
}
int main(int argc, char **argv)
{
int listenfd, connfd;
socklen_t len;
struct sockaddr_in servaddr, cliaddr;
char buff[255];
int n,number;
pid_t childpid;
if((listenfd = socket(AF_INET, SOCK_STREAM, 0))
#include
#include
#include
#include
#include
#include
#include
#include
void showClient(struct sockaddr_in cliaddr) {
printf("nThe IP of client is:%s",inet_ntoa(cliaddr.sin_addr));
printf("nThe Port of client is:%dn",ntohs(cliaddr.sin_port));
}
int main(int argc, char **argv)
{
int listenfd, connfd;
socklen_t len;
struct sockaddr_in servaddr, cliaddr;
char buff[255];
int n,number;
pid_t childpid;
if((listenfd = socket(AF_INET, SOCK_STREAM, 0))