没有合适的资源?快使用搜索试试~ 我知道了~
首页linux Socket进程通信程序设计
资源详情
资源评论
资源推荐
一、设计内容与设计要求
1.设计内容
掌握 Linux Socket 进程通信的基本原理和 Socket 数据结构,运用 Socket 编写一个聊
天程序,客户程序和服务程序在局域网内建立虚拟电路连接,能相互收发信息,进行通信。
设计思路 :客 户程 序通 过 socket 、bind 、connect 函数 请求 连接 ;服 务程 序通 过
socket、bind、listen、accept 函数与客户程序建立连接。注意 IP 地址和端口号的分配。
2.设计要求
a. 课题的主要功能;
b. 课题的功能模块的划分(要求画出模块图);
c. 主要功能的实现(至少要有一个主要模块的流程图);
d. 程序调试(至少要有一个程序结果图);
e. 总结;
f. 附件(所有程序的原代码,要求对程序写出必要的注释)。
书写格式
a.要求用 A4 纸打印成册
b.正文格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距
为 22。
c.正文的内容:正文总字数要求在 5000 字以上(不含程序原代码)。
d.封面格式如下页。
考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计
报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成
绩。具体考核标准包含以下几个部分:
a.平时出勤 (占 10%)
b.系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占 10%)
c.程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占 40%)
d.设计报告(占 30%)
注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
e.独立完成情况(占 10%)。
课程验收要求
a.运行所设计的系统。
b.回答有关问题。
c.提交课程设计报告。
d.提交软盘(源程序、设计报告文档)。
I
e.依内容的创新程度,完善程序情况及对程序讲解情况打分。
二、进度安排
1、 班级: 计算机科学与技术 0401、0402、0403
2、 主讲教师:郭鹏
3、 辅导教师:周铁山、曹燚
4、 时间安排:
第 18 周 星期三 8 时:00 分——12 时:00 分
星期四 14 时:00 分——18 时:00 分
星期五 8 时:00 分——12 时:00 分
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分表、附件(A4 大小的图纸及程序清单)。
正文的格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为 22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要
有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注
释)。
正文总字数要求在 5000 字以上(不含程序原代码)。
目 录
一、主要功能:................................................................................................................................................1
1.1 程序的主要功能..................................................................................................................................1
1.2 服务器的功能......................................................................................................................................1
1.3 客户端的功能......................................................................................................................................1
二、功能模块:................................................................................................................................................2
II
2.1面向连接的套接字系统时序图.........................................................................................................2
2.2创建套接字──socket()...................................................................................................................2
2.3指定本地地址──bind()...................................................................................................................3
2.4建立套接字连接──connect()与 accept().......................................................................................3
2.5监听连接──listen().........................................................................................................................4
2.6数据传输──send()与 recv()............................................................................................................5
2.7 输入/输出多路复用──select().......................................................................................................6
2.8关闭套接字──closesocket()...........................................................................................................6
三、程序流程图:............................................................................................................................................7
3.1服务器端程序流程图: ....................................................................................................................7
3.2客户端程序 ........................................................................................................................................8
四、程序调试:................................................................................................................................................8
五、总结:......................................................................................................................................................10
六、附件:......................................................................................................................................................10
6.1服务器端程序 ..................................................................................................................................10
6.2客户端程序 ......................................................................................................................................12
III
报告正文
一、主要功能:
1.1 程序的主要功能
掌握 Linux Socket 进程通信的基本原理和 Socket 数据结构,运用 Socket 编写
一个聊天程序,客户程序和服务程序在局域网内建立虚拟电路连接,能相互收发信息,
进行通信。
"在 TCP/IP 网络应用中,通信的两个进程间相互作用的主要模式是客户 /服务器模
式(Client/Server"model),即客户向服务器发出服务请求,服务器接收到请求后 ,
提供相应的服务。客户/服务器模式的建立基于以下两点:首先,建立网络的起因是网
络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机
提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异
步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机
制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户/服务
器模式的 TCP/IP。
1.2 服务器的功能
首先服务器方要先启动,并根据请求提供相应服务:
1."打开一通信通道并告知本地主机,它愿意在某一公认地址上(周知口,如 FTP
为 21)接收客户请求;
2."等待客户请求到达该端口;
3."接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要
激活一新进程来处理这个客户请求(如 UNIX 系统中用 fork、exec)。新进程处理此
客户请求,并不需要对其它请求作出应答。服务完成后,关闭此新进程与客户的通信
链路,并终止。
4."返回第二步,等待另一客户请求。
5."关闭服务器
1.3 客户端的功能
1."打开一通信通道,并连接到服务器所在主机的特定端口;
2."向服务器发服务请求报文,等待并接收应答;继续提出请求......"
3."请求结束后关闭通信通道并终止。
从上面所描述过程可知:
1."客户与服务器进程的作用是非对称的,因此编码不同。
2."服务进程一般是先涌纪纪户请求而启动的。只要系统运行,该服务进程一
直存在,直到正常或强迫终止。
1
剩余17页未读,继续阅读
xiouxiou29
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1