⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.c

📁 一个ARM下红外的通信的程序,有client和server,交叉编译后就和运行
💻 C
字号:

{
int  listenfd,addrlen,k=0;
struct sockaddr_irda server_addr,destaddr;
 char buff[200];
//SOCKADDR_IRDA server_addr={AF_IRDA,0,0,0,0,"MyServer"};
int socket_id;
addrlen =sizeof(struct sockaddr_irda);

listenfd=socket(AF_IRDA, SOCK_STREAM, 0);
if (listenfd ==-1)
{
                perror("call to socket\n");
                exit(1);
		}
        printf("succefully!\n");
        /* Initiate receiver */
	server_addr.sir_family=AF_IRDA;
	strncpy(server_addr.sir_name, "MyServer", 25); 
	server_addr.sir_lsap_sel = LSAP_ANY;
if(bind(listenfd, (struct sockaddr*) &server_addr,addrlen /*sizeof (struct sockaddr_irda)*/)==-1)
        {
 		 perror("error call to bind\n");
	     exit(1);
	}

	if(listen(listenfd,5)==-1)
	{
      	   perror("error call to listen\n");
           exit(1);
	}
	printf("receive a call!\n");
while(1)
{
   /*  addrlen = sizeof(struct sockaddr_irda);*/
     if(cln_socket_id=accept(listenfd, (struct sockaddr *)&destaddr, &addrlen)<0)
           {         
	      perror("Accept socket error !\n");        
		  exit(1);        
	   }
       printf("receive 1 connect from socket_id=%d\n",cln_socket_id);
       k++;
       printf("the user number is:%d",k);
       socket_id = cln_socket_id;
while(k<5)
	   {
	       if(recv(socket_id,buff,200,0)==-1)
		   {  perror("recv error");
             // exit(1);
		   }
           printf("receive %s\n",buff);
            }
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -