内容发布更新时间 : 2024/12/25 1:24:22星期一 下面是文章的全部内容请认真阅读。
《通信工程嵌入式系统》实验报告
嵌入式系统 实验报告
班 级:姓 名:学 号:实验名称:成 绩:
评 语:
二〇一六年
1
《通信工程嵌入式系统》实验报告
一、实验目的
(1) 熟练掌握linux下 SOCKET 网络编程 二、实验原理
答:套接字(socket)是一种特殊的I/O接口,它也是一种文件描述符。socket是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。
套接字包含三种类型:
?流式套接字(SOCK_STREAM):TCP协议,从而保证了数据传输的可靠性和顺序性。
?数据报套接字(SOCK_DGRAM):UDP协议,通过相互独立的报文进行传输,是无序的。
?原始套接字(SOCK_RAW):对底层协议如IP或ICMP进行直接访问,主要用于一些协议的开发。 三、实验内容
基于TCP协议,利用socket编程思路,编写程序实现多个客户端与服务器通信功能,设通信端口为8888。(程序及结果)附录 四、实验材料
电脑,UPNET2410经典实验箱,linux虚拟机; 五、思考题
1、说明TCP协议通信流程。
答:TCP是面向连接的,所谓面向连接,就是当计算机双方通信
2
《通信工程嵌入式系统》实验报告
时必需先建立连接,然后进行数据通信,最后拆除连接三个过程。TCP在建立连接时又分三步走:
第一步(A->B):主机A向主机B发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步(B->A):主机B在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示主机B的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。
第三步(A->B):主机A也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
2、说明程序中,如何实现客户接入与通信多任务处理。 客户端 服务器端socket() bzero() connect() recv() getchar() close()
代码如下:
“client.c”
#include
3
socket() bind() listen() accept() send() close()