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

📄 set.c

📁 这是一个 在S3C44B0板子,基于UClinux的网络传输程序,send.c是发送AD采集的数据(SEND.C带有AD采集程序).SET.C是设置程序比如采集时间等等.
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <errno.h>#define SERVER_PORT  20000#define QUEUE_LENGTH   20#define MAXLEN 100typedef struct {	char ip[16];	char netmask[16];	char gateway[16];	char SeverIP[16];	int DelayTime;	char id[21];	char localserverip[16];} eth0_set;	//全局变量定义eth0_set netset;//把接收过来的配置参数写如文件void  writefile(){		char wbuf[150];	   FILE *fp;	   char *dir;		char fpathname[MAXLEN];		char strdelaytime[10];		memset(wbuf,0,sizeof(wbuf));		dir="/mnt/";				strcpy(wbuf,netset.ip);		strcat(wbuf,"\n");		strcat(wbuf,netset.netmask);		strcat(wbuf,"\n");		strcat(wbuf,netset.gateway);		strcat(wbuf,"\n");		strcat(wbuf,netset.SeverIP);		strcat(wbuf,"\n");		sprintf(strdelaytime,"%d",netset.DelayTime);		strcat(wbuf,strdelaytime);		strcat(wbuf,"\n");		strcat(wbuf,netset.localserverip);		strcat(wbuf,"\n");		strcat(wbuf,netset.id);		strcat(wbuf,"\n");		strcpy(fpathname,dir);		strcat(fpathname,"temp");		fp=fopen(fpathname,"w");		if(fp!=NULL){			fwrite(wbuf,strlen(wbuf),1,fp);			printf("write set-file success\n");			fclose(fp);		}		else {			printf("cannot open set-file\n");		}	}void set(){	int newfd;	struct sockaddr_in setaddr;		int length=sizeof(setaddr);	int sockset;	setaddr.sin_family=AF_INET;	setaddr.sin_port=htons(SERVER_PORT);	setaddr.sin_addr.s_addr=INADDR_ANY;	bzero(&(setaddr.sin_zero),8);	sockset=socket(AF_INET,SOCK_STREAM,0);	if(bind(sockset,(struct sockaddr *)&setaddr,length)<0){		perror("bind");		exit(1);			}	if((listen(sockset,QUEUE_LENGTH))<0){		perror("listening");		exit(1);	}		while(1){		if((newfd=accept(sockset,(struct sockaddr*)&setaddr,&length))<0){			if(errno==EINTR)				continue;				else				perror("accept");					} 		memset(&netset,0,sizeof(eth0_set)); 			   recv(newfd,(char *)&netset,sizeof(eth0_set),0);		writefile();		close(newfd);	}}//main beginint main(int argc,char **argv){					set();		return 0;}//main end

⌨️ 快捷键说明

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