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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
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)
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);
}
close(sockfd);
}
4.3
/*******************************
}
//客户端程序初始化sockaddr结构体,连接到服务器的2323端口
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(2323);
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
*客户端程序client.c *
********************************/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
bzero(&(their_addr.sin_zero),8);
//向服务器发起连接
if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))==-1)
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("bind");
exit(1);
}
printf("bind success!\n");
//创建监听套接字描述符sockfd
if(listen(sockfd,10)==-1)
{
perror("listen");
exit(1);
}
printf("listening....\n");
//服务器阻塞监听套接字,循环等待客户端程序连接
#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;
int i = 0;
//转换主机名或IP地址
he = gethostbyname(argv[1]);
//客户端程序建立TCP协议的socked套接字描述符
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
(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;
while(1)
{
sin_size = sizeof(struct sockaddr_in);
//如果建立连接,将产生一个全新的套接字
if((new_fd = accept(sockfd,(struct sockaddr *)&their_addr,&sin_size))==-1)
{
perror("accept");
#include <netinet/in.h>
#include <sys/socket.h>
int main(int argc,char *argv[])
{
int sockfd,numbytes;
char buf[100];
struct hostent *he;
struct sockaddr_in their_addr;
《嵌入式系来自百度文库设计与应用》
课程设计报告
专业:
班级:
姓名:
学号:
指导教师:
(1)、熟悉并掌握在Linux开发环境下C语言程序设计及编译方法、嵌入式系统;
(2)、掌握嵌入式linux下基础网络编程:socket编程
(3)、独立编写客户机/服务器通信程序;
二、开发环境
(1) 编程环境:在Linux开发环境下设计及编译C语言程序。
i++;
}
return sum;
}
4.2
/*******************************
*服务器端程序server.c *
********************************/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
相关文档
最新文档