文档介绍:山东建筑大学计算机科学与技术学院
课程设计说明书
题目: 传输层中多路复用与解复用模拟程序的实现
课程: 计算机网络课程设计
院(部): 计算机科学与技术
专业: 网络工程
班级: 网络062
学生姓名: 颜璐
学号: 2006111162
指导教师: 徐功文
完成日期: 2009-07-09
目录
课程设计任务书 I
传输层中多路复用与解复用模拟程序的实现(Java或C++) 1
一、问题描述 1
二、基本要求 1
三、设计思想 1
四、系统结构 5
五、程序流程 6
六、源程序 7
七、测试数据 23
八、测试情况 23
结论 25
参考文献 26
课程设计指导教师评语 27
山东建筑大学计算机科学与技术学院
课程设计任务书
设计题目
传输层中多路复用与解复用模拟程序的实现(Java或C++)
已知技术参数和设计要求
:应用层中的各类应用
:
,自己创建进程表示HTTP、FTP等至少两种应用;
;
,通过socket处理,在服务器端能够显示客户端请求的是何种应用;
,要求同上。
3. Java环境为MyEclipse, C++环境为Visual C++
设计内容与步骤
;
;
;
;
;
。
设计工作计划与进度安排
,整体思路设计 2小时
4小时
; 12小时
; 12小时
10小时
设计考核要求
20%
%
50%
指导教师(签字): 教研室主任(签字):
传输层中多路复用与解复用模拟程序的实现(Java或C++)
一、问题描述
设计要求:
1. 能够处理应用层中常用的几种应用,自己创建进程表示HTTP、FTP等至少两种应用。
2. 构造所需的报文段数据。
3. 能够实现无连接的多路复用和解复用的模拟程序,通过socket处理,在服务器端能够显示客户端请求的是何种应用。
4. 能够实现面向连接的多路复用和解复用的模拟程序。
二、基本要求
1. .熟悉多路复用与解复用的实现原理;
2. 熟悉TCP/UDP报文相关结构;
3. TCP/UDP报文的构造;
4. 无连接的多路复用和解复用的模拟程序的设计与实现;
5. 面向连接的多路复用和解复用的模拟程序的设计与实现;
三、设计思想
使用套接字管道通信模块实现进程间的多道复用。主要有下面几种方法: 1)pipe, 创建一个管道,。2)popen, pclose: 这种方式只返回一个管道描述符,常用于通信另一方是stdin or stdout; 3)mkpipe: 命名管道, 在许多进程之间进行交互。
同时要应用到Java I/O 里面的Selector便成来实现。
四、系统结构
传输层的多路复用与解复用的模拟程序实现用到了C/S 及客户端与服务器模式:SelectorSocket 与 SelectorClient :
Selector相当于一个服用总线,负责统一各个处理程序的消息注册,统一接收客户端或服务器消息信息,再分发给不同的事件处理程序进行处理。整个流程就一个注册->接收->处理的过程,这样就模拟实现了多路复用与解复用,能够把相应的数据分发的对应的应用程序:
首先应用服务器端, ,同一个个程序的消息注册,统一接收客户端或服务器消息信息,再分发给不同的事件处理程序进行处理;
然后运行客户端, ,运行此程序负责连接服务器,并向其发送一定的数据,实现多路复用。
五、模块划分
1. ;//将缓冲指定文件的输入
2. ;//字节转换为字符的桥梁
3. .InetAddress;//参数传递给流套接字类和自寻址套接字类构造器或非构造器方法
4. .InetSocketAddress;//根据IP 地址和端口号