第一篇:实验2_基于CS结构的套接字程序设计
实验二:基于C/S结构的套接字程序设计
一、实验目的
1、理解基于C/S结构的网络通信模型。
2、掌握利用WinSock编写基于C/S结构的TCP/UDP通信程序的方法。
二、实验内容
1、用C/C++或Java编写一个服务器端的控制台程序,要求分别创建一个TCP端口侦听线程、一个UDP服务线程,服务器端会为每一个新到的TCP连接请求创建专门的服务线程;服务器端分别创建两个Socket,即TCP Server Socket和UDP Server Socket,服务器端在这两个端口上侦听连接,接收来自客户端的服务请求。
2、用C/C++或Java编写一个客户机端的控制台程序,要求分别创建两个Socket,TCP Socket连接TCP Server待建立TCP连接后Server首先向Client发送自己的UDP Server端口号和启动命令字符串“START”;Client收到UDP Server端口号和启动命令后,为用户显示如下图所示3个服务选项:
用户分别选择任意一个服务后从服务器获得相应的服务。
三、实验步骤及实验结果
1、实验内容1的实验步骤如下:
1)利用参考代码在MS VC++ 6.0开发工具编中写一个控制台程序
2)cmd窗口运行server,打开服务器,等待用户访问
3)IP地址为:172.22.119.224的用户访问上服务器
4)返回服务器当前时间(以TCP数据报形式返回)
5)收到用户发来的UDP数据报形式数据包,并以UDP数据报形式返回数据包
2、实验内容2的实验步骤如下:
1)利用参考代码在MS VC++ 6.0开发工具编中写一个控制台程序
2)cmd窗口运行client,用户访问上IP地址为:172.22.119.224的服务器
3)请求返回服务器当前时间(以TCP数据报形式访问)
4)向服务器发送UDP数据报形式数据包,并请求服务器以UDP数据报形式返回数据包
四、实验结果分析
Server端完成的功能是要同时提供面向连接和无连接的网络服务。对于面向连接的服务,程序需要一个线程用于侦听连接,当有客户端连接到服务器的时候,Server返回一个实际与之连接的新套接字,然后使用某个服务机制为之提供服务。对于无连接的服务,只须提供一个线程,在该线程中创建一个UDP套接字对到来的各种请求做出应答即可。
五、实验心得体会
六、思考题:
第二篇:计算机网络原理实验三winsock套接字编程实验报告
实验
三、WINSOCK套接字编程实验报告
序号:姓名:学号:成绩
1.实验目的:
用C或JAVA语言编写客户端、服务器程序,实现基于TCP或UDP的网络通信数据传输服务,熟悉基于TCP或UDP的Socket编程原理。
2.实验环境:
建立在TCP/IP 网络体系结构之上计算机网络实验环境。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。
3.实验指导:
参见套接字编程实验指导
4.实验步骤
(1)运行指导书中给出的参考程序,分析实验结果,并回答问题(1)-(3)
(2)根据给定参考程序修改代码,完善修改服务器和客户端的功能。并回答问题(4)-(5)
5.实验结果分析
(1)为什么在服务器和客户端要包含winsock2.h文件?
(2)为什么在服务器和客户端程序中要加入#pragma comment(lib,“ws2_32.lib”)
语句,如果不加会出现什么问题?
(3)为什么在服务器和客户端程序中要使用WSAStartup函数,如果不用,程序会有
什么问题?
(4)修改后的程序完成实现了什么功能,附上修改后的源代码。(修改或填加的代
码用波浪线标注,并填加注释),并附上实验截图
(5)请详细说明此实验在设计及运行时遇到的问题和解决办法,及实验体会及建议。
第三篇:结构矩阵程序设计心得
结构矩阵程序设计心得体会
结构矩阵分析的原理、方法以及在计算机上的实现是结构力学的重要内容之一。学好这门课,是对本科土木专业学生的基本要求。
本学期我们开始学习结构矩阵分析原理与程序设计,其中包括理论课时——第一章结构矩阵分析原理、第二章平面钢架静力分析的程序设计。其实,结构矩阵分析的基本原理与传统的结构力学原理相同,只是把计算过程用矩阵运算来表示,从而使复杂多变的结构受力在计算机上实现。
矩阵位移法分为一般刚度法和直接刚度法,二者基本原理相同,形成整体刚度方程的方法不同,我们学习的是直接刚度法。理论课结束后,我们有亲自上机把所学的方法在计算机上逐步实现,从而提高我们对结构矩阵的学习兴趣及理解。
此次上机实战不仅是知识的检验更是团队配合的较量,在得到老师给出的题目之后,我们迅速有效地分配任务:把代码输入计算机程序,再进行调试程序,调试完成后根据书中例题检验程序的正确性。在这一系列的过程中来不得半点粗心大意,一个小小的错误,可以在结果中可以被放大数百倍数千倍,就像老师挂在嘴边那句话:输入的是垃圾,输出的可定时垃圾。
程序调试完成我们的工作就成功了一半,此后,把所给题目转换成代码,然后通过程序的运行,得到输出到答案。而这个过程中,把题目转换成数字代码尤为重要,只要仔细认真倒也并非难事,我们发现:计算机能用到结构力学中,着实又方便有精确。结果输出后,我们再画出受力图,最后整理成文档,就算功德圆满了。
在这次结构设计程序过程中,我们的确遇到几个难题,不知从何下手,冥思苦想得不到结局之法,最后还是团队间互相商量,查看书籍,询问老师等,终于把问题一一解决。譬如说,带有铰接点的结构如何在平面钢架的源程序中实现,经过多方查询,只要分三步走即可:第一、可以在铰接点处,把一个杆分成两个单元;第二、靠近铰接的地方,设置一个很短的单元;第三、让这个单元的刚度EI值取得很小。也就是说,加一个很小的单元,把这个单元的弯曲刚度取得很小,这个单元就接近铰接点了,计算时让把这个当做钢节点。这次上机,让我们掌握了如何处理一般钢架问题、桁架问题、已知支架位移问题、平面钢架含铰接点问题、连续梁问题、组合梁问题等等,使我们对结构矩阵法有了更深的理解与掌握,思路更加开阔,相信为以后的工作打下良好的基础,在遇到问题后,进行简化成平面钢架静力分析,解决用手算相当复杂的问题。同时,我们懂得了互相帮助的重要性,遇到问题,群力群策,使问题得到完美解决。
第四篇:循环结构程序设计教案
教学内容:循环结构程序设计 教学课时:2课时 【教学目的】
1、循环的基本思想
2、while、do-while和for
3、三种语句特点
4、孰能生巧 【教学重点】 三种循环语句的使用。【教学难点】 三种循环语句区别。【教学方法】 讲解、演示、练习
第一课时
一、循环的基本思想
1、循环就是找规律,学习分析问题和解决问题的能力
2、讲解案例灰太狼抓羊问题
3、分析抓羊规律,引出循环概念
二、while、do-while和for
1、分析灰太狼抓羊问题,提出解题思路
(一)设灰太狼每次抓羊i只
(二)设灰太狼一共抓到羊sum只
(三)设灰太狼每天抓羊后笼子里有羊sum + i只 其中:i为循环变量,sum + i为循环体
2、介绍while循环的一般形式
3、一边分析一边编程
(一)主函数
(二)定义变量
(三)运算过程
(四)输出结果
4、编写循环程序必须注意的几个问题
(一)循环控制变量必须有正确的初值
(二)在循环体内应有改变其值的语句
(三)其值的改变应使得表达式的值最终趋向于零(循环结束条件),否则将形成死循环
5、引出do-while循环
6、介绍do-while循环的一般形式
7、使用do-while循环解决灰太狼抓羊问题
8、说明:while与do-while相似点
9、引出for循环
10、介绍for循环的一般形式
11、使用for循环解决灰太狼抓羊问题
12、说明:for循环中三个表达式使用方法
第二课时 一、三种语句特点
1、while与do-while的区别
2、两语句与for的区别
二、孰能生巧
1、提出问题姜太公钓鱼
2、分析题目中可用循环解决的规律问题
3、分析姜太公钓鱼问题,提出解题思路
(一)设太公每次钓鱼数量n = n + 2条
(二)设一共钓到鱼的数量sum条
(三)设每天钓鱼后鱼的数量sum + n条
4、一边分析一边编程
(一)主函数
(二)定义变量
(三)运算过程
(四)输出结果
5、课程小结
课后练习
1、概述三种循环语句while、do-while和for之间的区别与联系。
2、计算无理数e的值,直到1/n!<10-5(P44,第4题)。
3、输入任意字符串,把字符串中小写字母转换成大写字母,并输出结果(P44, 第3题)。
4、输入5个整数,计算其中正数的和(P47,1)
5、编程显示100以内所有能被3和7整除的整数(P47,6、输出用户输入的两个整数之间的所有偶数。
7、编程求1!+2!+3!+…+n!的和。
2)。
第五篇:分支结构程序设计教案
感受分支结构程序的作用
一、教学目标 1.知识与技能目标
(1)理解程序的分支结构。(2)了解编程思路。2.过程与方法目标
(1)借助多媒体教学,强化学生的理解力和注意力。(2)能根据问题设计界面和编写程序。3.情感、态度与价值观目标
(1)让学生从无到有的探索过程中感受成功的喜悦。(2)培养学生探究精神与独立操作能力。
二、教学重点和难点 1.教学重点:
使用visual basic语言的条件语句来实现分支结构,从而解决实际问题。
2、教学难点:
理解程序中流程的代码描述。
三、教学方法
情境教学法、讲授法、任务驱动法
四、教学准备
1、教学环境。多媒体网络教室。
2、教学资源。
学生用机需要安装好visual Bastc语言环境。任务卡
五、教学过程
1.创设情境,导入新课
ppt演示导出课题“分支结构”通过链接到“体型判断”小程序,然后让同学们自己推荐同学来测试是否偏胖或偏瘦或正常。学生的兴趣度很高,积极的配合。
设计意图:引起学生兴趣,激发学生的学习热情,点名课题。2.讲授新课
(1)给出标准体重的计算公式,并简介如何评判体型。
(2)列举生活中需要进行条件选择的例子来讲解,帮学生理解分支结构程序设计的概念。(3)关系表达式和逻辑表达式的简介。(4)画出if语句流程图,了解简单的if语句。
(5)教师操作“体型判断”的案例,介绍框架控件的使用,编写部分程序,回忆旧知。
设计意图:师生共同构思,写出“体型判断”源程序,让学生对分支结构的理解更深刻。
3.布置作业,巩固提高
以书本上的典型案例“体型判断”让学生操作,有不懂的看书本或任务卡。(巡回指导,及时帮学生解决操作过程中存在的问题)
4.归纳总结,加强记忆
先让学生们归纳总结本节课所学的内容,然后教师总结,让学生有一个更深刻的印象,并强调应注意的几个问题。
设计意图:课堂小结的目的是强化认识,可以把课堂传授的知识尽快地转化为学生的知识;简单扼要的课堂小结,可使学生更深刻地理解分支结构程序设计在实际生活中的应用。
六、课后反思
整节课以学生动手为主,学生的兴趣浓厚,课堂充满活力,能够达到预期目的。学生基本上都完成了课堂作业,但是已经做好的同学还没能形成先预习下节课要讲的内容的好习惯,总体来说这节课是相对成功的。