您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ str_echo函数代码示例

51自学网 2021-06-03 08:26:07
  C++
这篇教程C++ str_echo函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中str_echo函数的典型用法代码示例。如果您正苦于以下问题:C++ str_echo函数的具体用法?C++ str_echo怎么用?C++ str_echo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了str_echo函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cmd_echo

static void cmd_echo(char ch){    if ((ch == 0x08 || ch == 0x7F) && cmd_args.len > 0)//退格或删除    {        char str[] = {0x08, ' ', 0x08};        cmd_args.len--;        str_echo(str, sizeof(str));    }    else    {        if (ch > 0x1f && ch < 0x80)        {            if (cmd_args.len < sizeof(cmd_args.cmdline) - 1)            {                cmd_args.cmdline[cmd_args.len++] = ch;                str_echo(&ch, 1);            }        }        else if (ch == 0x0D || ch == 0x0A)//newline carriage return        {            char str[] = {0x0D, 0x0A};            cmd_args.cmdline[cmd_args.len++] = '/0';            str_echo(str, sizeof(str));            xSemaphoreGiveFromISR(xRxCompleteSemaphore, NULL);        }    }}
开发者ID:yangk,项目名称:FreeRTOS_BOARD_DEMO,代码行数:29,


示例2: main

int main(void){	//  daemon(0,0);	signal(SIGCLD, SIG_IGN);	socklen_t cliaddr_len;	int listenfd,connfd;	listenfd = socket(AF_INET,SOCK_STREAM,0);	bzero(&servaddr,sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(SERV_PORT);	int nREUSEADDR = 1;	setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,(const char*)&nREUSEADDR,sizeof(int));	bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));	listen(listenfd,20);	printf("Accepting connections.../n");	while(1){		cliaddr_len = sizeof(cliaddr);		if((connfd = accept(listenfd,(struct sockaddr *)&cliaddr,&cliaddr_len))<0){			if(errno == EINTR)				continue;			else{				perror("accept:");				exit(0);			}		}		char is_long ;		recv(connfd,&is_long,1,0);		//		printf("connfd is_long:%c/n",is_long);		if(is_long == 'k')		{			int i;			i = fork();			if(i == -1){				perror("fork error");				exit(1);			}else if(i == 0){				close(listenfd);				str_echo(connfd);				exit(0);			}else				close(connfd);		}else		{			str_echo(connfd);		}	}}	
开发者ID:snowcrystall,项目名称:echoserver,代码行数:48,


示例3: main

int main(){    int listenfd, connfd;    pid_t pid;    socklen_t clilen;    struct sockaddr_in servaddr, cliaddr;        listenfd = socket(AF_INET, SOCK_STREAM, 0);    bzero(&servaddr, sizeof(servaddr));    servaddr.sin_family = AF_INET;    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);    servaddr.sin_port = htons(SERV_PORT);    bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr));    listen(listenfd, ACCEPTQ);    signal(SIGCHLD, sig_chld);    for(;;)    {        clilen = sizeof(cliaddr);        connfd = accept(listenfd, (struct sockaddr*)&cliaddr, &clilen);        if((pid = fork()) == 0)        {            close(listenfd);            str_echo(connfd);            exit(0);        }        close(connfd);    }}
开发者ID:fitwu,项目名称:unp,代码行数:30,


示例4: main

int main(int argc, char **argv){  int serverSock, clientSock;  struct sockaddr_in serverAddr, clientAddr;  serverSock = socket(AF_INET, SOCK_STREAM, 0);  bzero(&serverAddr, sizeof(serverAddr));  serverAddr.sin_family = AF_INET;  serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);  serverAddr.sin_port = htons(5011);   if (bind(serverSock,(struct sockaddr *)&serverAddr, sizeof(serverAddr)) < 0) {    perror("bind error");    exit(1);  }    if (listen(serverSock, 0) < 0)  {    perror("listen error");    exit(0);  }   while(1)  {    int cliLen = sizeof(clientAddr);    clientSock = accept(serverSock,                        (struct sockaddr*)&clientAddr,                         (socklen_t *)&cliLen);    str_echo(clientSock);  }  return 0;}
开发者ID:chenshuchao,项目名称:practice,代码行数:33,


示例5: main

int main(void){	int sockfd,connfd;	pid_t chldpid;	socklen_t chldlen;		struct sockaddr_in servaddr,cliaddr;	sockfd=socket(AF_INET,SOCK_STREAM,0);	bzero(&servaddr,sizeof(servaddr));	servaddr.sin_family=AF_INET;	servaddr.sin_addr.s_addr=htonl(INADDR_ANY);	servaddr.sin_port=htons(PORT);	bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));	listen(sockfd,LISTENQ);	signal(SIGCHLD,sig_chld);	for(;;)	{		chldlen=sizeof(cliaddr);		if( (connfd=accept(sockfd,(struct sockaddr*)&cliaddr,&chldlen))<0 )		{			if(errno==EINTR)			{				printf("interupted sys call/n");				continue;// restart sys call by self;			}		}			if( (chldpid=fork())==0)		{			close(sockfd);			str_echo(connfd);			exit(0);		}		close(connfd);	}}
开发者ID:chunxiaomoli,项目名称:echoserv_client,代码行数:35,


示例6: main

int main( int argc, char** argv ) {	int listenfd;		struct sockaddr_in servaddr;	listenfd = Socket( AF_INET, SOCK_STREAM, 0 );	bzero( &servaddr, sizeof( servaddr ) );	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl( INADDR_ANY );	servaddr.sin_port = htons( 7778 );	Bind( listenfd, (struct sockaddr*)&servaddr, sizeof( servaddr ) );	Listen( listenfd, 5 );	socklen_t clilen;	struct sockaddr_in cliaddr;	int connfd;	pid_t childpid;	for( ; ; ) {		clilen = sizeof( cliaddr );		connfd = Accept( listenfd, ( struct sockaddr* )&cliaddr, &clilen );		if( ( childpid = Fork()) == 0 ) {			Close( listenfd );			str_echo( connfd );			exit( 0 );		}		Close( connfd );	}}
开发者ID:zendevelop,项目名称:code_samples,代码行数:29,


示例7: main

int main(int argc, const char *argv[]){	int listenfd, connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_in cliaddr, servaddr;	listenfd = socket_r(AF_INET, SOCK_STREAM, 0);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(argv[1]);	servaddr.sin_port = htons(80);	//void bind_r(int listening_socket, const struct sockaddr *addr, socklen_t addrlen, void *arg);	bind_r(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr), (char *)argv[1]);	//void listen_r(int sockfd, int backlog, void *arg);	listen_r(listenfd, 10, (char *)argv[1]);	for(;;){		clilen = sizeof(cliaddr);		//int accept_r(int sockfd, struct sockaddr *addr, socklen_t *addrlen);		connfd = accept_r(listenfd, (struct sockaddr *)&cliaddr, &clilen);			if((childpid = fork_r()) == 0){			close_r(listenfd);			str_echo(connfd);			exit(0);		}	}	close_r(connfd);	return 0;}
开发者ID:sunqi08201329,项目名称:sunqi0207,代码行数:28,


示例8: main

int main(int argc,char *argv[]){	int listenfd,sockfd;	pid_t pid;	socklen_t len;	struct sockaddr_un un;	if(argc != 2)		err_quit("usage server_un <pathname>");	memset(&un,0,sizeof(un));	un.sun_family = AF_LOCAL;	strncpy(un.sun_path,argv[1],sizeof(argv[1]));	sockfd = socket(AF_LOCAL,AF_STREAM,0);	bind(listenfd,&un,SUN_LEN(&un));	Listen(listenfd,LISTENQ);	for(;;){		if((sockfd=accept(listenfd,&un,&len))<0){			if(errno == EINTR)				continue;			else				err_sys("accept error");		}		if((pid=fork()) == 0) {			Close(listenfd);			str_echo(sockfd);			exit(0);		}		Close(sockfd);	}}
开发者ID:hu010354,项目名称:kaizer,代码行数:28,


示例9: main

int main(int argc,char **argv){	int listenfd,connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_in cliaddr,servaddr;	listenfd = Socket(AF_INET,SOCK_STREAM,0);	bzero(&servaddr,sizeof(servaddr));		servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(SERV_PORT);	Bind(listenfd,&servaddr,sizeof(servaddr));	Listen(listenfd,20);		signal(SIGCHLD,sig_chld);	printf("server is listening/n");	for(;;)	{		clilen = sizeof(cliaddr);		connfd = Accept(listenfd,&cliaddr,&clilen);		if( (childpid = Fork() == 0) )		{			Close(listenfd);				str_echo(connfd);			exit(0);		}		Close(connfd);	}}
开发者ID:zz198808,项目名称:unp-1,代码行数:34,


示例10: main

int main(){    int         listenfd, connfd;    pid_t       childpid;    socklen_t   clilen;    struct sockaddr_in      cliaddr, servaddr;    listenfd = socket(AF_INET, SOCK_STREAM, 0);    memset(&servaddr, 0, sizeof(servaddr));    servaddr.sin_family = AF_INET;    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);    servaddr.sin_port = htons(9877);        bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr));    listen(listenfd, LISTENQ);    while (1) {        clilen = sizeof(cliaddr);        connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &clilen);        if ((childpid = fork()) == 0) {            close(listenfd);            str_echo(connfd);            exit(0);        }        close(connfd);    }}
开发者ID:lyyyuna,项目名称:durian_cake,代码行数:30,


示例11: main

int main(int argc, char const *argv[]){  int listenfd, connfd;  struct sockaddr_in servaddr, cliaddr;  int len;  if (argc != 2)  {    fprintf(stderr, "usage: tcpserv <port>/n");    exit(1);  }  if ((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)  {    perror("socket error");    exit(1);  }  servaddr.sin_family = AF_INET;  servaddr.sin_port = htons(atoi(argv[1]));  servaddr.sin_addr.s_addr = htons(INADDR_ANY);  if (bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0)  {    perror("bind error");    exit(1);  }  if (listen(listenfd, LISTENQ) < 0)  {    perror("listen error");    exit(1);  }  Signal(SIGCHLD, sig_chld);  while (1)  {    len = sizeof(cliaddr);    // pause();    if ((connfd = accept(listenfd, (struct sockaddr*)&cliaddr, &len)) < 0)    {      if (errno == EINTR)        continue;      perror("accept error");      exit(1);    }    if (fork() == 0)    {      close(listenfd);      str_echo(connfd, &cliaddr);      exit(0);    }    close(connfd);  }  return 0;}
开发者ID:yangmiemie,项目名称:books,代码行数:60,


示例12: main

int main(int argc, char **argv){	int listenfd, connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_un cliaddr, servaddr;	void sig_child(int);	listenfd = Socket(AF_LOCAL, SOCK_STREAM, 0);	unlink(UNIXSTR_PATH);	bzero(&servaddr, sizeof(servaddr));	servaddr.sun_family = AF_LOCAL;	strcpy(servaddr.sun_path, UNIXSTR_PATH);	Bind(listenfd, (SA *)&servaddr, sizeof(servaddr));	Listen(listenfd, LISTENQ);	Signal(SIGCHLD, sigchld_waitpid);	for ( ; ; )	{		clilen = sizeof(cliaddr);		connfd = Accept(listenfd, (SA *)&cliaddr, &clilen);        if ((childpid = Fork()) == 0)		{			Close(listenfd);			str_echo(connfd);			exit(0);		}		Close(connfd);	}}
开发者ID:crazy-canux,项目名称:cAPI,代码行数:34,


示例13: main

intmain(int argc, char **argv){	int					listenfd, connfd;	pid_t				childpid;	socklen_t			clilen;	struct sockaddr_in	cliaddr, servaddr;	listenfd = Socket(AF_INET, SOCK_STREAM, 0);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family      = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port        = htons(SERV_PORT);	Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));	Listen(listenfd, LISTENQ);	for ( ; ; ) {		clilen = sizeof(cliaddr);		connfd = Accept(listenfd, (SA *) &cliaddr, &clilen);		if ( (childpid = Fork()) == 0) {	/* child process */			Close(listenfd);	/* close listening socket */			str_echo(connfd);	/* process the request */            sleep(10);			exit(0);		}		Close(connfd);			/* parent closes connected socket */	}}
开发者ID:DavidYangfei,项目名称:unpbook,代码行数:32,


示例14: main

int main(int argc, char **argv){  int listenfd, connfd;  pid_t childpid;  socklen_t clilen;  struct sockaddr_in cliaddr, servaddr;  listenfd = Socket(AF_INET, SOCK_STREAM, 0);  bzero(&servaddr, sizeof(servaddr));  servaddr.sin_family = AF_INET;  servaddr.sin_addr.s_addr = htonl(INADDR_ANY);  servaddr.sin_port = htons(SERV_PORT);  Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));  Listen(listenfd, LISTENQ);  for( ; ; ) {    clilen = sizeof(cliaddr);    /*connfd = Accept(listenfd, (SA *) &cliaddr, &clilen);*/    // handler break slow system call    if ( (connfd = accept(listenfd, (SA *) &cliaddr, &clilen)) < 0) {      if(errno == EINTR)        continue;      else        err_sys("accept error");    }    if( (childpid = Fork()) == 0) {      Close(listenfd);      str_echo(connfd);      exit(0);    }    Close(connfd);  }}
开发者ID:hackrole,项目名称:daily-program,代码行数:34,


示例15: main

int main(int argc, char **argv) {    int listenfd, connfd;    struct sockaddr_in servaddr, client_addr;    char buff[MAXLINE];    time_t ticks;    bzero(&servaddr, sizeof(servaddr));    servaddr.sin_family = AF_INET;    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);    /*for any interface on server */    servaddr.sin_port = htons(atoi(argv[1]));    listenfd = socket(AF_INET, SOCK_STREAM, 0);    bind(listenfd, (SA *)&servaddr, sizeof(servaddr));    listen(listenfd, LISTENQ);    bzero(&client_addr, sizeof(client_addr));    signal(SIGCHLD, sig_chld);    while (1) {        int addr_len = sizeof(client_addr);        connfd = accept(listenfd, (SA *)&client_addr, (socklen_t *)&addr_len);        printf("IP address is: %s, ", inet_ntoa(client_addr.sin_addr));        printf("port is: %d/n", (int) ntohs(client_addr.sin_port));        pid_t pid;        if ((pid = fork()) == 0) { /* child process */            close(listenfd); /* close listening socket */            str_echo(connfd); /* process the request */            exit (0);        }        close(connfd);        /* parent closes connected socket */    }    return 0;}
开发者ID:henryyang42,项目名称:NetworkProgramming,代码行数:34,


示例16: main

int main(int argc, char *argv[]){    int listenfd, connfd;    pid_t childpid;    socklen_t clilen;    struct sockaddr_in cliaddr, servaddr;    listenfd = Socket(AF_INET, SOCK_STREAM, 0);    bzero(&servaddr, sizeof(servaddr));    servaddr.sin_family = AF_INET;    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);    servaddr.sin_port = htons(SERV_PORT);    Bind(listenfd, (SA *)&servaddr, sizeof(servaddr));    Listen(listenfd, LISTENQ);    while (1)    {        clilen = sizeof(cliaddr);        connfd = Accept(listenfd, (SA *)&cliaddr, &clilen);        if ((childpid = Fork()) == 0)        {            Close(listenfd);            str_echo(connfd);            exit(0);        }        Close(connfd);    }    return 0;}
开发者ID:NetWilliam,项目名称:unix-network-programming-bobo,代码行数:27,


示例17: main

int main(int argc,char **argv){	int listenfd,connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_in cliaddr,servaddr;	listenfd=socket(AF_INET,SOCK_STREAM,0);	if(listenfd<0)	printf("error socket/n");	bzero(&servaddr,sizeof(servaddr));	servaddr.sin_family=AF_INET;	servaddr.sin_addr.s_addr=htonl(INADDR_ANY);	servaddr.sin_port=htons(SERV_PORT);	if(bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)	printf("error bind/n");	if(listen(listenfd,LISTENQ)<0)	printf("error linstn/n");	for(;;){		clilen=sizeof(cliaddr);		if((connfd=accept(listenfd,(struct sockaddr*) &cliaddr,&clilen))<0){		printf("error accept");			}		if((childpid=fork())==0){			close(listenfd);			str_echo(connfd);			exit(0);		}		close(connfd);	}}
开发者ID:wbingeek,项目名称:GeekMessaging,代码行数:35,


示例18: main

int main(int argc, char **argv) {    int listenfd, connfd, status;    pid_t childpid;    char line[MAXLINE];    socklen_t clilen;    struct sockaddr_in servaddr;    struct sockaddr_in cliaddr;    listenfd=socket(AF_INET, SOCK_STREAM,0);    bzero(&servaddr, sizeof(servaddr));    servaddr.sin_family=AF_INET;    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);    servaddr.sin_port=htons(PORT);    bind(listenfd, (SA *)&servaddr, sizeof(servaddr));    listen(listenfd, LISTENQ);    for( ;;) {        clilen = sizeof(cliaddr);        connfd=accept(listenfd, (SA *)&cliaddr, &clilen);        printf("connection from %s, port %d/n", inet_ntoa(cliaddr.sin_addr), ntohs(cliaddr.sin_port));        childpid = fork();        if (childpid == 0) {            close(listenfd);            str_echo(connfd);            exit(0);        } else {            signal(SIGCHLD, sig_chld);        }        close(connfd);    }}
开发者ID:hydai,项目名称:SocketProgramming,代码行数:33,


示例19: main

int main(int argc, char **argv){	int listenfd,connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_in cliaddr,servaddr;	listenfd = socket(AF_INET, SOCK_STREAM, 0);		bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(SERV_PORT);	bind(listenfd, (SA *)&servaddr, sizeof(servaddr));printf("start listening.../n");	listen(listenfd, LISTENQ);		for( ; ; )	{		clilen = sizeof(cliaddr);		connfd = accept(listenfd, (SA *)&cliaddr, &clilen);		if( (childpid = fork()) == 0 )		{			close(listenfd);//printf("i am in clild process/n");			str_echo(connfd);			exit(0);		}		close(connfd);	}}
开发者ID:onesafe,项目名称:unp-studying,代码行数:33,


示例20: doit

static void* doit(void* arg){	Pthread_detach(pthread_self());	str_echo((int)arg);	Close((int)arg);	return NULL;}
开发者ID:ldjbenben,项目名称:GameServer,代码行数:7,


示例21: main

int main(int argc, char **argv){	int listenfd, connfd;	pid_t childpid;	socklen_t clilen;	struct sockaddr_in cliaddr, servaddr;	listenfd = socket (AF_INET, SOCK_STREAM, 0);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl (INADDR_ANY); // for any interface	servaddr.sin_port = htons (SERV_PORT); //user define	bind(listenfd, (__SOCKADDR_ARG) &servaddr, sizeof(servaddr));	listen(listenfd, LISTENQ);	for ( ; ; ) {		clilen = sizeof(cliaddr);		connfd = accept(listenfd, (__SOCKADDR_ARG) &cliaddr, &clilen);		if ( (childpid = fork()) == 0) { /* child process */			close(listenfd);			/* close listening socket */			str_echo(connfd); /* process the request */			exit (0); //end child process		}		close(connfd);		/* parent closes connected socket */	 } }
开发者ID:Q-Max,项目名称:npnp2015,代码行数:26,


示例22: main

intmain(int argc, char **argv){	int					listenfd, connfd;	pid_t				childpid;	socklen_t			clilen;	struct sockaddr_in	cliaddr, servaddr;	void				sig_chld(int);			// 处理信号量函数, 这里在Mac OS X系统上编译不过	listenfd = Socket(AF_INET, SOCK_STREAM, 0);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family      = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port        = htons(SERV_PORT);	Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));	Listen(listenfd, LISTENQ);	Signal(SIGCHLD, sig_chld);					// 捕获`SIGCHLD`,并调用`wait`或`waitpid`来处理僵死进程		for ( ; ; ) {		clilen = sizeof(cliaddr);		connfd = Accept(listenfd, (SA *) &cliaddr, &clilen);		if ( (childpid = Fork()) == 0) {	/* child process */			Close(listenfd);	/* close listening socket */			str_echo(connfd);	/* process the request */			exit(0);		}		Close(connfd);			/* parent closes connected socket */	}}
开发者ID:Yweima,项目名称:BookNotes,代码行数:34,


示例23: main

intmain(int argc, char **argv){	int sock_fd,msg_flags,connfd,childpid;	sctp_assoc_t assoc;	char readbuf[BUFFSIZE];	struct sockaddr_in servaddr, cliaddr;	struct sctp_sndrcvinfo sri;	struct sctp_event_subscribe evnts;	socklen_t len;	size_t rd_sz;        sock_fd = Socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(SERV_PORT);	Bind(sock_fd, (SA *) &servaddr, sizeof(servaddr));		bzero(&evnts, sizeof(evnts));	evnts.sctp_data_io_event = 1;	Setsockopt(sock_fd, IPPROTO_SCTP, SCTP_EVENTS,		   &evnts, sizeof(evnts));	Listen(sock_fd, LISTENQ);	printf("Start waiting.../n");/* include mod_servfork */	for ( ; ; ) {		len = sizeof(struct sockaddr_in);		rd_sz = Sctp_recvmsg(sock_fd, readbuf, sizeof(readbuf),			     (SA *)&cliaddr, &len,			     &sri,&msg_flags);		Sctp_sendmsg(sock_fd, readbuf, rd_sz, 			     (SA *)&cliaddr, len,			     sri.sinfo_ppid,			     sri.sinfo_flags,			     sri.sinfo_stream,			     0, 0);		assoc = sctp_address_to_associd(sock_fd,(SA *)&cliaddr,len);		if((int)assoc == 0){			err_ret("Can't get association id");			continue;		} 		connfd = sctp_peeloff(sock_fd,assoc);		if(connfd == -1){			err_ret("sctp_peeloff fails");			continue;		}		if((childpid = fork()) == 0) {			Close(sock_fd);			str_echo(connfd);			exit(0);		} else {			Close(connfd);		}	}/* end mod_servfork */}
开发者ID:nightfly19,项目名称:renyang-learn,代码行数:59,


示例24: main

int main(){	int listenfd,connectfd;	struct sockaddr_in server,client;    pid_t child_pid;    socklen_t clilen;	if((listenfd=socket(AF_INET,SOCK_STREAM,0))<0)      {      	perror("Socket not created");      }     else     {     	printf("Socket created/n");     } 		           bzero(&server,sizeof(server));     server.sin_family=AF_INET;     server.sin_addr.s_addr=htonl(INADDR_ANY);     server.sin_port=htons(SERV_PORT);     if((bind(listenfd,(struct sockaddr*)&server,sizeof(server)))<0)     {     	perror("Bind failed");     }     else     {     	printf("Bind successful /n");     }           listen(listenfd,5);           signal(SIGCHLD,sig_chld);           /*Daemon :D*/      for(;;)     {     	//clilen=sizeof(client);        if( (connectfd=accept(listenfd,(struct sockaddr*) NULL,NULL) )<0)        {          if(errno == EINTR)   /* Interrupted system call */             continue;           else            err_sys("accept error");        }        if((child_pid=fork())==0)        {        	close(listenfd);        	str_echo(connectfd);            exit(0);                                   }           close(connectfd);     }	}
开发者ID:nancygoel62,项目名称:BCS-356-Network-Programming,代码行数:59,


示例25: doit

static void *doit(void *arg){	Pthread_detach(pthread_self());	str_echo((int) arg);	/* same function as before */	Close((int) arg);		/* done with connected socket */	return(NULL);}
开发者ID:tcharding,项目名称:self_learning,代码行数:8,


示例26: main

intmain(int argc, char **argv){	int					listenfd, connfd;	pid_t				childpid;	socklen_t			clilen;	struct sockaddr_in	cliaddr, servaddr;	void				sig_chld(int);	if ((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {		perror("socket error");		exit(1);	}	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family      = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port        = htons(SERV_PORT);	if (bind(listenfd, (SA *) &servaddr, sizeof(servaddr)) < 0) {		perror("bind error");		exit(1);	}	if (listen(listenfd, LISTENQ) < 0) {		perror("listen error");		exit(1);	}	if (signal(SIGCHLD, sig_chld) == SIG_ERR) {		perror("signal error");		exit(1);	}	for ( ; ; ) {		clilen = sizeof(cliaddr);		if ((connfd = accept(listenfd, (SA *) &cliaddr, &clilen)) < 0) {			perror("accept error");			exit(1);		}		if ( (childpid = fork()) < 0) {			perror("fork error");			exit(1);		} else if (childpid == 0) {	/* child process */			if (close(listenfd) == -1) {	/* close listening socket */				perror("close error");				exit(1);			}			str_echo(connfd);	/* process the request */			exit(0);		} 		if (close(connfd) == -1) {	/* parent closes connected socket */			perror("close error");			exit(1);		}	}}
开发者ID:hechenyu,项目名称:unix_code,代码行数:58,


示例27: main

intmain(int argc, char **argv){	int                 listenfd, connfd;	pid_t               childpid;	socklen_t           clilen;	struct sockaddr_in  cliaddr, servaddr;    uint16_t            port;    if (argc != 2) {        usage(argv[0]);        return EXIT_FAILURE;    }    port = atoi(argv[1]);	listenfd = Socket( AF_INET, SOCK_STREAM, 0);	bzero( &servaddr, sizeof( servaddr));	servaddr.sin_family      = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port        = htons(port);    /* SO_REUSEADDR allows a new server to be started     * on the same port as an existing server that is     * bound to the wildcard address, as long as each     * instance binds a different local IP address.     * This is common for a site hosting multiple HTTP     * servers using the IP alias technique */    int reuseaddr_on = 1;    if( setsockopt( listenfd, SOL_SOCKET, SO_REUSEADDR,                &reuseaddr_on, sizeof( reuseaddr_on)) < 0)    {        // log    }	Bind( listenfd, (SA *) &servaddr, sizeof( servaddr));	Listen( listenfd, LISTENQ);	Signal( SIGCHLD, sig_chld);	for ( ; ; ) {		clilen = sizeof(cliaddr);		if ( ( connfd = accept( listenfd, (SA *) &cliaddr, &clilen)) < 0) {			if ( errno == EINTR)				continue;		/* back to for() */			else				err_sys( "accept error");		}		if ( ( childpid = Fork()) == 0) {	/* child process */			Close( listenfd);               /* close listening socket */			str_echo( connfd);              /* process the request */			exit( 0);		}		Close( connfd);			/* parent closes connected socket */	}    return 0;}
开发者ID:bharathvu,项目名称:unix_networking_projects,代码行数:58,


示例28: doit

void *doit(void *arg){  long val = (long)arg;  pthread_detach(pthread_self());  str_echo(val);  close(val);  return NULL;}
开发者ID:irays,项目名称:test_repository,代码行数:9,



注:本文中的str_echo函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ str_empty函数代码示例
C++ str_data函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。