上海大学数据库一报告下
- 格式:doc
- 大小:1.83 MB
- 文档页数:29
《网络与通信》课程实验报告实验2:Socket通信编程附件:系统概述:运行环境、编译、使用方法、实现环境、程序文件列表等;运行环境:Windows7系统下的编译:C#使用方法:为一般窗口程序,双击即可实现环境:Microsoft Visio Studio程序文件列表:主要数据结构;TCP服务端:public partial class TcpServerForm : Form{private Socket _server;private Socket _client;private byte[] _receiveData = new byte[1024];private string _username;private string _password;private bool _needPasswordl;private bool _passwordWrong;public TcpServerForm()private void TcpReceiveForm_Load(object sender, EventArgs e)private void btnListen_Click(object sender, EventArgs e)private void btnDisconnect_Click(object sender, EventArgs e)void AcceptedConnection(IAsyncResult iar)void ReceivedData(IAsyncResult iar)void SentData(IAsyncResult iar)void ProcessDisconnection()private void txtUserName_TextChanged(object sender, EventArgs e)private void txtPassword_TextChanged(object sender, EventArgs e)private void lblUserName_Click(object sender, EventArgs e)private void gnConnectInfo_Enter(object sender, EventArgs e)private void lbMessage_SelectedIndexChanged(object sender, EventArgs e) private void lbNativeIP_SelectedIndexChanged(object sender, EventArgs e)private void lbConnectLog_SelectedIndexChanged(object sender, EventArgs e) }TCP客户端:public partial class TcpClientForm : Form{Socket _client;byte[] _receivedData = new byte[1024];public TcpClientForm()private void btnConnect_Click(object sender, EventArgs e)private void btnDisconnect_Click(object sender, EventArgs e)private void btnSend_Click(object sender, EventArgs e)void Connected(IAsyncResult iar)void ReceivedData(IAsyncResult iar)void SentData(IAsyncResult iar)void ProcessDisconnection()private void txtIP_TextChanged(object sender, EventArgs e)}UDP接收端:public partial class UdpReceiveForm : Form{private bool ReadFlag = true;private Thread th;private IPEndPoint remote;private UdpClient server;private int count = 0;private double num;public UdpReceiveForm()private void read()private void btnReceive_Click(object sender, EventArgs e)private void UdpReceiveForm_FormClosing(object sender, FormClosingEventArgs e) }UDP发送端:public partial class UdpSendForm : Form{public UdpSendForm()private void btnSend_Click(object sender, EventArgs e)private void txtIP_TextChanged(object sender, EventArgs e)private void lblInfo_Click(object sender, EventArgs e)}主要算法描述;异步调用与回调(部分):TCP服务端:_server.BeginAccept(new AsyncCallback(AcceptedConnection), _server);//异步调用,开始接收连接-> void AcceptedConnection(IAsyncResult iar)_client.BeginSend(sendMessage, 0, sendMessage.Length, SocketFlags.None, new AsyncCallback(SentData), _client);//异步调用,消息发送完毕执行->void SentData(IAsyncResult iar)_client.BeginReceive(_receiveData, 0, _receiveData.Length, SocketFlags.None, new AsyncCallback(ReceivedData), _client);//密码正确,开始接收消息->void ReceivedData(IAsyncResult iar)用户使用手册;TCP客户端、TCP服务端:1、用户打开TCP客户端并且输入服务端IP、用户名与密码(密码事先在服务端设置好);2、服务端点击“开始监听”,客户端点击“连接”;3、客户端在消息框内输入消息,点击“发送”,则消息发送到服务端,;4、服务端接收并且在“接收到的消息”框里显示消息与发送消息时的日期;注:客户端与服务端均能断开连接。
上海大学计算机网络实验报告Prepared on 21 November 2021《网络与通信》课程实验报告实验三:数据包结构分析常用的抓包工具1.SpyNetSniffer:SpyNetSniffer是个极好的网络监听工具,包含telnet,POP,ICQ,HTTP,login等等。
如果有人攻击你的系统,SpyNetSniffer可以攫取证据。
2.Ethereal:Ethereal是当前较为流行的一种计算机网络调试和数据包嗅探软件。
Ethereal基本类似于tcpdump,但Ethereal还具有设计完美的GUI和众多分类信息及过滤选项。
用户通过Ethereal,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量,并根据流量进行测试从而发现网络问题并排除网络故障。
3.PRTG:PRTG全称为PaesslerRouterTrafficGrapher,他是另外一款功能强大的免费且可以通过路由器等设备上的SNMP协议取得流量资讯并产生图形报表的软件,他可以产生企业内部网络包括服务器,路由器,交换机,员工计算机等多种设备的网络流量图形化报表,并能够对这些报表进行统计和绘制。
4.科来网络分析系统:科来网络分析系统是一个集数据包采集、解码、协议分析、统计、图表、报表等多种功能为一体的综合网络分析平台。
能通过应用分析方案实现精准分析,能更有效地帮助用户解决网络中发现的问题,实现精确定位和高效分析。
本次实验就是用的机房的该系统。
3.2目标地址:3.3源地址3.4封装协议类型0800表示封装的是IP协议的数据包。
4.IP协议4.1格式:4.2版本和头部长度4.3服务00:未使用4.4总长度017E:首部和数据的长度:382*1=382字节4.5标识数据分片和重组时使用4.6标志前三bit:010(MF=0,DF=1,表示是最后一个数据片,传输过程中不能分片)4.7片偏移和标志位共用16bit,占13位,不能分片,无意义。
上海大学实验报告模板一、引言本实验报告旨在介绍上海大学实验报告的模板,帮助学生更好地撰写实验报告。
实验报告是一种科技文献,通过记录实验过程和结果,以及对实验数据的分析和讨论,来总结和分享实验研究的成果。
二、实验报告的结构1.标题:实验报告的标题应简明扼要地概括实验的内容和目的。
2.引言:介绍实验的背景、目的和意义,引起读者的兴趣,并阐明实验的问题和假设。
3.实验方法:详细描述实验的步骤和操作过程,包括实验所使用的设备、材料和方法。
4.实验结果与分析:展示实验的结果数据,并通过图表或数学模型进行分析和解释。
分析的过程应该清晰、逻辑严谨。
5.讨论与结论:对实验结果进行讨论和总结,回答实验的问题和验证假设。
同时提出实验中存在的问题和改进的可能性。
6.参考文献:引用实验中使用的参考文献,包括已发表的科技文献或相关实验报告。
三、实验报告的要求1.格式:实验报告应采用A4纸,页边距为上下左右各2.5厘米,使用12号宋体字体,行间距为1.5倍。
2.内容:实验报告应包含必要的信息,包括实验的背景、目的、方法、结果和分析、讨论和结论等。
3.语言:实验报告应使用准确、简明扼要的语言进行描述,避免使用模糊或不确定的表达方式。
4.图表:实验结果可以通过图表的方式进行展示和分析,但在本实验报告模板中,不允许使用图片。
5.引用:实验报告中引用的参考文献应注明出处,包括作者、标题、出版日期等信息。
引用格式应符合学校的要求。
四、实验报告的撰写步骤1.确定实验的背景和目的:在撰写实验报告之前,需要对实验的背景和目的进行充分的了解和分析,确保能够准确地描述实验的意义和目标。
2.收集实验数据:进行实验过程中,需要仔细记录实验数据和观察结果。
确保实验数据的准确性和完整性。
3.分析实验数据:通过对实验数据的分析和处理,得出实验结论,并将分析过程详细记录在实验报告中。
4.撰写实验报告:根据上述实验报告的结构和要求,逐步撰写实验报告的各个部分,确保内容的完整、准确和逻辑性。
上海大学,上海市属国家211高校,教育部、国防科技工业局与上海市共建,现有宝山、延长、嘉定三个校区。
1983年在复旦大学分校、上海外国语学院分院、华东师范大学仪表电子分校、上海科学技术大学分校、上海机械学院轻工分院、上海市美术学校的基础上复办上海大学。
1994年上海工业大学、上海科学技术大学、上海大学、上海科技高等专科学校合并组建为新的上海大学。
学校现为国家“双一流工程”世界一流学科建设高校。
一流学科:机械工程。
教育部四轮学科评估中:社会学、美术获评A-学科;获评B+学科共7个。
学校发布2019届毕业生就业质量报告:
2019届毕业生共计8836人,就业率为99.21%。
本科生和研究生毕业平均月薪分别为6935元和9543元。
毕业生主要服务于长三角地区,8成以上本科生在上海就业。
本科、硕士毕业生就业去向主要分布在信息传输、软件和信息技术服务,制造和金融等行业。
深造率再创新高,本科留学率居全国前列。
其中,本科生保研率10.17%。
详情如下:
内容来源于博雅数据库。
第1周(第四章:SQL体系结构、组成、建库建表,索引自学)一、实验课:1.建立school数据库2.在school下建立如下数据库表,根据表中数据选取合适的数据类型及宽度,设置各表的主键及表间外键联系:注意:字段名是对应汉字字段名的汉语拼音第一个字母组合而成●学生表S:学号,姓名,性别,出生日期,籍贯,手机号码,院系号;表1:S表2:D表3:T表5:O表6:E3.在学生表中建立索引idx1:院系号升序,姓名降序在课程表中建立索引idx2:课名二、研讨课:(参考答案)1.请说明school数据库中各表的主键和外键。
同时说明:在学生表中的yxh字段输入“04”或在院系表中删除yxh为“01”记录,会有什么结果?●学生表S:学号,院系号●院系表D:院系号●教师表T:工号,院系号●课程表C:课号,院系号●开课表O:学期,课号,工号,课号,工号●选课表E:学号,学期,课号,工号,学号,学期,课号,工号不能输入04:因为外键值在对应主键中没有出现不能删除:因为外键表中有相应数据或级联删除和院系相关的数据2.什么是关系型数据库?什么是非关系型数据库?各举1个典型产品简单介绍他们特点?关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。
现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
ORACLE、SQLServer、Sybase、Informix、mysql等。
非关系型的数据库(NoSQL),随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
SHANGHAI UNIVERSITY 《操作系统(一)》实验报告学院计算机工程与科学学院姓名吴学辉报告序号三实验题目进程管理及进程通信日期2016.11.1《操作系统(一)》实验报告一、实验目的与要求1. 利用Linux提供的系统调用设计程序,加深对进程概念的理解。
2. 体会系统进程调度的方法可效果。
3. 了解进程之间的通信方式以及各种通信方式的使用二、实验环境Linux Ubuntu系统三、实验内容实验方法:用vi编写C程序(假定程序文件名为prog1.c)编写程序$ gcc –o prog1.o prog1.o (编译prog1.c产生输出的目标程序prog1.o)或$ cc -o prog1.o prog1.c运行$./prog1.o操作过程:1.编写程序。
显示进程的有关标识(进程标识、组标识、用户标识等)。
经过5 秒钟后,执行另一个程序,最后按用户指示(如:Y/N)结束操作。
2.参考例程1,编写程序。
实现父进程创建一个子进程。
体会子进程与父进程分别获得不同返回值,进而执行不同的程序段的方法。
思考:子进程是如何产生的?又是如何结束的?子进程被创建后它的运行环境是怎样建立的?答:是由父进程用fork()函数创建形成的,通过exit()函数自我结束,子进程被创建后核心将其分配一个进程表项和进程标识符,检查同时运行的进程数目,并且拷贝进程表项的数据,由子进程继承父进程所有文件。
3.参考例程2,编写程序。
父进程通过循环语句创建若干子进程。
探讨进程的家族树以及子进程继承父进程的资源的关系。
思考题:①画出进程的家族树。
子进程的运行环境是怎样建立的?反复运行此程序看会有什么情况?解释一下。
②修改程序,使运行结果呈单分支结构,即每个父进程只产生一个子进程。
画出进程树,解释该程序。
2.修改之后的程序运行结果:解释:当该进程为父进程时就创建子进程并退出,当该进程为子进程时返回标识号4.参考例程3 编程,使用fork( )和exec( )等系统调用创建三个子进程。
竭诚为您提供优质文档/双击可除上海大学实验报告篇一:上海大学操作系统(二)实验报告(全)评分:shAnghAIunIVeRsITY操作系统实验报告学院计算机工程与科学专业计算机科学与技术学号学生姓名《计算机操作系统》实验一报告实验一题目:操作系统的进程调度姓名:张佳慧学号:12122544实验日期:20XX.1实验环境:microsoftVisualstudio实验目的:进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。
本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。
调度算法可任意选择或自行设计。
例如,简单轮转法和优先数法等。
本实习可加深对于进程调度和各种调度算法的理解。
实验内容:1、设计一个有n个进程工行的进程调度程序。
每个进程由一个进程控制块(pcb)表示。
进程控制块通常应包含下述信息:进程名、进程优先数、进程需要运行的时间、占用cpu的时间以及进程的状态等,且可按调度算法的不同而增删。
2、调度程序应包含2~3种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。
3、系统应能显示或打印各进程状态和参数的变化情况,便于观察诸进程的调度过程。
操作过程:1、本程序可选用优先数法或简单轮转法对五个进程进行调度。
每个进程处于运行R(run)、就绪w(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态w。
为了便于处理,程序进程的运行时间以时间片为单位计算。
进程控制块结构如下:进程控制块结构如下:pcb进程标识数链指针优先数/轮转时间片数占用cpu时间片数进程所需时间片数进程状态进程控制块链结构如下:其中:Run—当前运行进程指针;heAD—进程就绪链链首指针;TAID—进程就绪链链尾指针。
2、算法与框图(1)优先数法。
进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。
每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减3,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级。
第6周(第二、六章:E_R模型和扩展E-R模型)
一、实验课:数据库连接编程(PB10.0与SQL Serve r):第13章实验5-1
第7周(第二、七章:数据模型,E-R模型转关系模型,完整性规)一、实验课:数据库连接编程(PB10.0与SQL Serve r):第13章实验5-2
第8周(第三章:关系代数,关系演算自学)
一、实验课:数据库连接编程(PB10.0与SQL Serve r):第13章实验5-3
第9周(第三章:查询优化)
一、实验课:数据库连接编程(网络语言与SQL Server),有同学们自由发挥。
一、使用SQL Server建立数据库:
创建表:
【注】这里要设置每个学生进入登录界面时的,用户名“LOGN”和密码“PSWD”,由于粗心,我把LOGIN写成了LOGN,因此,在使用PB时,相应的脚本也需要修改为“logn ”。
二、使用PowerBuilder:
1.student的open()事件脚本:
2、d_c界面:
3、d_score_dis界面:
输入某课程的课程号,例如C1:
界面如下:
输入某学生的学号,例如S1:
界面如下:
输入某学生的学号,例如S1:
界面如下:
输入某学生的学号,例如S1:
界面如下:
输入某学生的学号,例如S1:
界面如下:
9、菜单栏m_student界面及事件脚本:
10、窗口w_course_create布局及相应事件脚本:
11、窗口w_course_score_dis布局及相应事件脚本:
12、窗口w_login布局及相应事件脚本:
【注】实验时,我发现运行时插图无法显示,后来我发现,系统中并没有找到书上所提供的*.bmp文件的图片。
于是我自己复制了一个图片Coffee Bean.bmp到指定的文件夹,然后,在代码中,将p_1的picturename指向该图片。
实验中其他界面图片的插入,同理。
13、窗口w_select_course布局及相应事件脚本:
14、窗口w_select_student_score_report布局及相应事件脚本:
15、窗口w_ student_create布局及相应事件脚本:
16、窗口w_ student_create布局及相应事件脚本:
17、运行:
1)选择数据源STUDENT_SQL:
【注】因为在虚拟机中安装的PowerBuilder的版本比书上的稍微高一点,因此,在运行时会出现这一步。
2)以教师身份登录:
选择某一门课程,如“数据结构”,并单击“查询”按钮:
单击输入成绩:
【注】在“输入成绩”界面会有一个bug,就是无法修改成绩,单击保存时,会跳出提示框:
【注】提示框说明数据库中的数据无法更新。
这个问题我和很多同学讨论过,他们都有这个状况,并尚未解决。
我想这个功能的实现和“学生表中新增学生”这个功能是一样的道理。
应该是在视窗中,修改编辑栏的属性,使它成为可编辑形式,就可以避免数据无法更新的bug了。
单击成绩分布:
选择菜单栏中的“学生表”:
单击“新增”,并增加一个新学生“S10”:
单击“保存”,发现S10加入名单中:
选中S10,并单击“删除”:
2)以学生身份登录,如“S1”:
单击“登录”:
输入课程号(已选且可选的课程),并单击“选课”:
【注】因为课程已选,所以会出现以上出错提示框。
输入课程号(未选且可选的课程),并单击“选课”:
删除课程号(未登记分数的课程),并单击“退课”:
删除课程号(已登记分数的课程),并单击“退课”:。