嵌入式系统设计与应用课程设计报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《嵌入式系统设计与应用》 课程设计报告 专 业: 班 级: 姓 名: 学 号: 指导教师: 目 录 一、设计目的 3 二、开发环境 3 三、设计任务及要求 3 四、实现过程 3 4.1用户应用程序设计 3 4.2服务器端程序 3 4.3客户端程序 5 4.3 编译与运行结果 7 五、总结 7 一、设计目的 (1)、熟悉并掌握在Linux开发环境下C语言程序设计及编译方法、嵌入式系统; (2)、掌握嵌入式linux下基础网络编程:socket编程 (3)、独立编写客户机/服务器通信程序; 二、开发环境 (1) 编程环境:在Linux开发环境下设计及编译C语言程序。 (2) 硬件设备:PXA270开发板,PC机。 三、设计任务及要求 设计一套可远程调用求和函数并返回客户端的程序。 四、实现过程 4.1用户应用程序设计 1.程序sum.h int sum(); 2.程序sum.c #include <stdio.h> int sum(){ int i=1,sum=0; while(i<=100){ sum=sum+i; i++; } return sum; } 4.2服务器端程序 /******************************* * 服务器端程序 server.c * ********************************/ #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #include "sum.h" main() { int sockfd,new_fd,numbytes; struct sockaddr_in my_addr; struct sockaddr_in their_addr; int sin_size,sum; char buff[100] ,temp[100]; sum=sum(); itoa(sum, temp, 10); //服务器端建立TCP协议的socked套接字描述符 if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1) { perror("socket"); exit(1); } printf("socket success!,sockfd=%d\n",sockfd); //服务器端初始化sockaddr结构体,绑定2323端口 my_addr.sin_family = AF_INET; my_addr.sin_port = htons(2323); my_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(my_addr.sin_zero),8); //绑定套接字描述符sockfd if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1) { perror("bind"); exit(1); } printf("bind success!\n"); //创建监听套接字描述符sockfd if(listen(sockfd,10)==-1) { perror("listen"); exit(1); } printf("listening....\n"); //服务器阻塞监听套接字,循环等待客户端程序连接 while(1) { sin_size = sizeof(struct sockaddr_in); //如果建立连接,将产生一个全新的套接字 if((new_fd = accept(sockfd,(struct sockaddr *)&their_addr,&sin_size))==-1) { perror("accept"); exit(1); } //生成一个子进程来完成和客户端的会话,父进程继续监听 if(!fork()) { //读取客户端发来的信息 if((numbytes = recv(new_fd,buff,strlen(buff),0))==-1) { perror("recv"); exit(1); } //将从客户端接收到的信息再发回客户端 if(send(new_fd,temp,strlen(buff),0)==-1) perror("send"); /* 本次通信结束 */ close(new_fd); exit(0); } /* 下一个循环 */ // close(new_fd); } cl
- 粉丝: 84
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助