- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络 网络程序设计(范文)
第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页
广州大学学生实验报告
开课学院及实验室:计算机科学与工程实验室 2014年12月13日
学院
计算机科学与教育软件学院
年级/专业/班
姓名
学号
实验课程名称
计算机网络实验
成绩
实验项目名称
网络程序设计
指导老师
熊伟
程序演示
使用苹果编程语言实现程序效果,模拟器运行结果如下:
启动后画面
单击C机
单击C后单击D,显示结果
单击A后单击C,显示结果
程序设计思路
根据网桥转发规则,我首先设计了PC类,代表主机。
Bridege类,代表网桥,实例方法包括一些数据帧转发,登记移除转发表等。
Framing类,代表数据帧,包括一些属性:目的地址,源地址等。
由于算法并不复杂,而且基于ios平台的开发本来就比较熟手,开发过程并没遇到什么困难。
程序流程图
程序源代码
由于篇幅有限,就不粘贴过多的代码。所有源代码压缩至附件上传。
下面仅显示部分代码。
Network类,构建UI画面,并负责协调处理PC,Bridge直接数据的传递。
//
// Network.m
// BridgeTransfer
//
// Created by Jeans on 12/14/14.
// Copyright (c) 2014 Jeans. All rights reserved.
//
#import Network.h
#import ShapeView.h
#import Bridge.h
#import PC.h
#define AppSize [UIScreen mainScreen].applicationFrame.size
#define HorizontalSpacing 35
#define VerticalSpacing 80
#define kAnimationDuring 2
@interface Network()PCDelegate
@property (strong, nonatomic) PC *A;
@property (strong, nonatomic) PC *B;
@property (strong, nonatomic) PC *C;
@property (strong, nonatomic) PC *D;
@property (strong, nonatomic) Bridge *B1;
@property (strong, nonatomic) ShapeView *pathShapeView;
@property (strong, nonatomic) ShapeView *backgroundShapeView;
@property (strong, nonatomic) UILabel *resultLabel;
@end
@implementation Network
- (id)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]){
// self.backgroundColor = [UIColor grayColor];
//添加对象
CGPoint pcPoint = CGPointMake(HorizontalSpacing, VerticalSpacing);
self.A = [self NewPCByOrigin:pcPoint];
self.A.name = @A;
pcPoint.x += HorizontalSpacing + self.A.frame.size.width;
[self bringSubviewToFront:self.A];
self.B = [self NewPCByOrigin:pcPoint];
self.B.name = @B;
pcPoint.x += HorizontalSpacing + self.B.frame.size.width;
self.B1 = [self NewBridgeByOrigin:CGPointMake(pcPoint.x, 10)];
pcPoint.x += HorizontalSpacing + self.B1.f
原创力文档


文档评论(0)