server.c

来自「《linux驱动程序设计从入门到精通》一书中所有的程序代码含驱动和相应的应用程序」· C语言 代码 · 共 49 行

C
49
字号

//////////////////////////////////////////////////
//               IRDA SOCKET Server
//////////////////////////////////////////////////

void main()
{
	int     serversock, clientsock; 
	struct  sockaddr_irda   address={0},cli_addr={0}; 
	char    rcvBuffer[100]; 
	int     len=0;
	address. sir_family= AF_IRDA;
	address. sir_lsap_sel=0;
	address. sir_addr=DEV_ADDR_ANY;
	strcpy(address. sir_name,"IrDA:TinyTP");
	if ((serversock = socket (AF_IRDA,SOCK_STREAM,0))==-1)//创建socket
	{   
		perron("socket");   
		return  -1;   
	}   
	if (bind(serversock,(struct sockaddr*)&address, sizeof (address)) ==-1) //绑定地址
	{   
		perron("bind ");   
		close(serversock);
		return  -1; 
	}  
	if (listen(serversock,5)==-1)//开始监听
	{   
		perron("listen ");   
		close(serversock);
		return  -1; 
	}   
	//等待接收客户连接
	if ((clientsock=accept(serversock,(struct sockaddr*)&cli_addr, 0))==-1)
	{   
		perron("accept ");   
		close(serversock);
		return  -1; 
	}   
	if (len=recv(clientsock, rcvBuffer, 10,0)==-1) //接收数据
	{   
		perron("send ");   
		close(serversock);
		return  -1; 
	}   
	closesocket   (clientsock);//关闭连接
	closesocket   (serversock);
	return   0;
}

⌨️ 快捷键说明

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