PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 1
《计算机操作系统》实验报告
实验七:Linux Socket编程
学校:╳╳╳
院系:╳╳╳
班级:╳╳╳
姓名:╳╳╳
学号:╳╳╳
指导教师:╳╳╳
目 录
TOC \o "1-3" \h \u HYPERLINK \l _Toc22877 一、实验题目 PAGEREF _Toc22877 3
HYPERLINK \l _Toc19314 二、实验学时 PAGEREF _Toc19314 3
HYPERLINK \l _Toc5937 三、指导老师 PAGEREF _Toc5937 3
HYPERLINK \l _Toc13229 四、实验日期 PAGEREF _Toc13229 3
HYPERLINK \l _Toc28163 五、实验目的 PAGEREF _Toc28163 3
HYPERLINK \l _Toc8913 六、实验原理 PAGEREF _Toc8913 3
HYPERLINK \l _Toc24426 6.1 什么是Socket PAGEREF _Toc24426 3
HYPERLINK \l _Toc17733 6.2 Socket建立 PAGEREF _Toc17733 3
HYPERLINK \l _Toc31410 6.3 Socket配置 PAGEREF _Toc31410 4
HYPERLINK \l _Toc14238 6.4 连接建立 PAGEREF _Toc14238 5
HYPERLINK \l _Toc29359 6.5 数据传输 PAGEREF _Toc29359 6
HYPERLINK \l _Toc4014 6.6 结束传输 PAGEREF _Toc4014 7
HYPERLINK \l _Toc8975 七、实验步骤及结果 PAGEREF _Toc8975 7
HYPERLINK \l _Toc27391 7.1 编译服务端(server.c) PAGEREF _Toc27391 7
HYPERLINK \l _Toc2402 7.2 编译客户端(client.c) PAGEREF _Toc2402 8
HYPERLINK \l _Toc5714 7.3 服务端与客户端交互 PAGEREF _Toc5714 8
HYPERLINK \l _Toc5931 八、报告书写人 PAGEREF _Toc5931 8
HYPERLINK \l _Toc15825 附录一 服务端(server.c) PAGEREF _Toc15825 9
HYPERLINK \l _Toc11708 附录二 客户端(client.c) PAGEREF _Toc11708 11
实验七:Linux Socket编程
一、实验题目
Linux Socket编程
二、实验学时
3学时
三、指导老师
╳╳╳
四、实验日期
2018年12月17日星期一
五、实验目的
(1)了解socket含义
(2)设计socket程序,实现远程服务器端和客户端的通信
六、实验原理
6.1 什么是Socket
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
6.2 Socket建立 为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。socket函数原型为: int socket(int domain, int type, int protocol); domain指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);type参数指定socket的类型:SOCK_STREA