嵌入式系统设计与应用-课程设计报告

上传人:M****1 文档编号:510531378 上传时间:2023-12-19 格式:DOC 页数:8 大小:56.50KB
返回 下载 相关 举报
嵌入式系统设计与应用-课程设计报告_第1页
第1页 / 共8页
嵌入式系统设计与应用-课程设计报告_第2页
第2页 / 共8页
嵌入式系统设计与应用-课程设计报告_第3页
第3页 / 共8页
嵌入式系统设计与应用-课程设计报告_第4页
第4页 / 共8页
嵌入式系统设计与应用-课程设计报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《嵌入式系统设计与应用-课程设计报告》由会员分享,可在线阅读,更多相关《嵌入式系统设计与应用-课程设计报告(8页珍藏版)》请在金锄头文库上搜索。

1、仰恩大学计算机与信息学院 课题设计报告嵌入式系统设计与应用课程设计报告专 业: 班 级: 姓 名: 学 号: 指导教师: 目 录一、设计目的3二、开发环境3三、设计任务及要求3四、实现过程34.1用户应用程序设计34.2服务器端程序34.3客户端程序54.3 编译与运行结果7五、总结7一、设计目的(1)、熟悉并掌握在Linux开发环境下C语言程序设计及编译方法、嵌入式系统;(2)、掌握嵌入式linux下基础网络编程:socket编程(3)、独立编写客户机/服务器通信程序;二、开发环境(1) 编程环境:在Linux开发环境下设计及编译C语言程序。(2) 硬件设备:PXA270开发板,PC机。三、

2、设计任务及要求设计一套可远程调用求和函数并返回客户端的程序。四、实现过程4.1用户应用程序设计1.程序sum.hint sum();2.程序sum.c#include int sum()int i=1,sum=0; while(i=100) sum=sum+i; i+; return sum;4.2服务器端程序/* 服务器端程序 server.c * */ #include #include #include #include #include #include #include #include #include “sum.h”main() int sockfd,new_fd,numbyte

3、s; struct sockaddr_in my_addr; struct sockaddr_in their_addr; int sin_size,sum; char buff100 ,temp100; 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=%dn,sockfd); /服务器端初始化sockaddr结构体,绑定2323

4、端口 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(sockf

5、d,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(nu

6、mbytes = 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); close(sockfd); 4.3客户端程序/* 客户端程序 client.c * */ #include #include #include #include #include #

7、include #include #include int main(int argc,char *argv) int sockfd,numbytes; char buf100; struct hostent *he; struct sockaddr_in their_addr; int i = 0; /转换主机名或IP地址 he = gethostbyname(argv1); /客户端程序建立TCP协议的socked套接字描述符 if(sockfd = socket(AF_INET,SOCK_STREAM,0)=-1) perror(socket); exit(1); /客户端程序初始化so

8、ckaddr结构体,连接到服务器的2323端口 their_addr.sin_family = AF_INET; their_addr.sin_port = htons(2323); their_addr.sin_addr = *(struct in_addr *)he-h_addr); bzero(&(their_addr.sin_zero),8); /向服务器发起连接 if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr)=-1) perror(connect); exit(1); /向服务器发送字符

9、串hello! if(send(sockfd,Hello! I am Client.,100,0)=-1) perror(send); exit(1); /接受从服务器返回的信息 if(numbytes = recv(sockfd,buf,100,0)=-1) perror(recv); exit(1); printf(result: %s n,buf); /* 通信结束 */ close(sockfd); return 0; 4.3 编译与运行结果 (1)、编译客户端文件、服务器端文件 # gcc client.c -o client.o# arm-linux-gcc server.c su

10、m.c -o server.o (2)、连接串口线和网线(3)、把server.o下载到开发板中 (4)、在开发板上运行服务器端程序 # ./server.osocket success! Sockfd=3;bind success;Listening.Hello!I am Client. (5)、在PC机上运行客户端程序 # ./client.o 192.168.0.50 result:5050五、总结通过本次课程设计,让我熟悉并掌握在Linux开发环境下C语言程序设计及编译方法、嵌入式系统、明白了嵌套字的使用方法、嵌入式linux下基础网络编程socket编程,通过多次操作现在我能够独立编写客户机/服务器通信程序,熟悉远程控制程序运行的过程。7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号