嵌入式Linux网络通信实验(最终5篇).docx 立即下载
2025-08-27
约1.6万字
约24页
0
22KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式Linux网络通信实验(最终5篇).docx

嵌入式Linux网络通信实验(最终5篇).docx

预览

免费试读已结束,剩余 19 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式Linux网络通信实验(最终5篇)

第一篇:嵌入式Linux网络通信实验淮阴工学院Linux操作系统及嵌入式应用实验报告系(院):计算机工程学院专业:计算机科学与技术(物联网工程)班级:物联网1111姓名:蒋振学号:1111307116指导教师:孙成富学年学期:2014~2015学年第学期实验1Socket全双工通信实验实验目的1)了解网络套接字编程2)掌握网络通信服务器和客户端的工作过程3)利用多线程实现全双工通信4)下载并运行网络应用程序2实验环境1)宿主机:Fedora102)嵌入式Linux软硬件系统:TQ2440(基于S3C2440A)开发板3实验准备3.1Linux下的多线程编程进程是程序执行时的一个实例,即它是程序已经执行到何种程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。本实验使用多线程解决了并行通信的难题。关于多线程的函数主要是使用pthread.h头文件中定义的多线程操作函数,如pthread_create、pthread_cancel等。3.2TCP/IP概述3.2.1TCP/IP的分层模型OSI协议参考模型,是基于国际标准化组织(ISO)的建议发展起来的,它分为7个层次:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。这个7层的协议模型虽然规定得非常细致和完善,但在实际中却得不到广泛的应用,其重要的原因之一就在于它过于复杂。但它仍是此后很多协议模型的基础。与此相区别的TCP/IP协议模型将OSI的7层协议模型简化为4层,从而更有利于实现和使用。TCP/IP的协议参考模型和OSI协议参考模型的对应关系如下图1所示:SYNJSYNK,ACKJ+1ACKK+1图1TCP/IP协议与OSI协议参考模型对比图3.2.2TCP的三次握手TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后进行数据通信,最后拆除连接三个过程。TCP在建立连接时又分三步走:第一步(A->B):主机A向主机B发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;第二步(B->A):主机B在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示主机B的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgment)。第三步(A->B):主机A也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。3.3套接字(socket)概述3.3.1套接字类型1)流式套接字(SOCK_STREAM)流式套接字提供可靠的、面向连接的通信流;它使用TCP协议,从而保证了数据传输的可靠性和顺序性。2)数据报套接字(SOCK_DGRAM)数据报套接字定义了一种无可靠、面向无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠、无差错的。它使用数据报协议UDP3)原始套接字(SOCK_RAW)原始套接字允许对底层协议如IP或ICMP进行直接访问,它功能强大但使用较为不便,主要用于一些协议的开发。3.3.2套接字编程使用TCP时Socket编程流程图如图2所示。服务器端socketbindbindlistenacceptrecv/recvfromsend/sendtocloseconnectsend/sendtorecv/recvfromclose客户端socket图2TCP时Socket编程流程图使用UDP时Socket编程如图3所示。socketlistenacceptrecvfromsendto或socketconnectsendrecvclose或recvsendclosesendtorecvfrom或或图3TCP时Socket编程流程图实验过程4.1简单的Socket通信程序设计在Fedora10操作系统的/home目录下创建NetCommunicator目录,并新建client.c和server.c源文件,NetCommunicator目录如图4所示。图4NetCommunicator截图分别编写Socket通信的客户端和服务器端源代码。编写完毕,使用gcc编译上述client.c和server.c源文件生成client和server可执行程序(x86平台),编译过程如图5所示。使用arm-linux-gcc编译上述client.c和server.c源文件生成a_client和a
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

嵌入式Linux网络通信实验(最终5篇)

文档大小:22KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用