void USARTPutchar(char* ch) { while(*ch!= 0) { PutFifo(*ch++); } }
void dg_echo(int server_socketfd,struct sockaddr_in client_address,int client_len) { int n,byte; int offset=0; char test[BUF_SIZE]; void *sharemem=NULL; int shmid,i; n=0; //char rec_char[MAXLINE]; while(n<10) { struct msghdr msg; struct iovec iov[1]; // ssize_t n; bzero(&msg, sizeof(msg)); msg.msg_name = &client_address; /* attention this is a pointer to void* type */ msg.msg_namelen = client_len; iov[0].iov_base = &msg_sbuf; iov[0].iov_len = sizeof(msg_sbuf); msg.msg_iov = iov; msg.msg_iovlen = 1; if (recvmsg(server_socketfd, &msg, 0) == -1) perror("rcv bad"); printf("now reciev the data ok data is :%s.and type is %d and the len is %d \n",msg_sbuf.mtext,msg_sbuf.mtype,msg_sbuf.offset); PutFifo(); n++; } sleep(3); n=0; printf("hhshhahhha............................\n"); while(n<10) { memset(test,0,sizeof(test)); if((shmid=shmget((key_t)654321,(size_t)4096,0600|IPC_CREAT))==-1) { perror("can not get share mem"); exit(1); } if((sharemem=shmat(shmid,NULL,0))==NULL) { perror("can mount the share mem"); shmctl(shmid,IPC_RMID,0); exit(1); }