华北电力大学网络综合实验
2. 目的:加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网 络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。
3. 要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出 完整的源程序,基本功能完善,方便易用,操作无误。
4. 学生要求人数:1 人。
cout<<"============================================================= ======="<<endl;
for(i=0;i<v.size();++i) { cout<<v.at(i)<<" "; if((i+1)%10==0)cout<<endl; } cout<<endl;
三、 进度计划
序号
设计内容
完成时间
备注
1
任务布置及资料收集
第 1 周周一、周二
2
软件方案设计与制定
第 1 周周三至周四
3
编程实现
第 1 周周周五至第 2 周周二
4
程序测试与修改,撰写报告
第 2 周周三至周五上午
5
报告提交,软件验收
周五下午
四、设计成果要求
1. 完成规定的实验任务,保质保量; 2. 完成综合实验报告,要求格式规范,内容具体而翔实,应体现自身所做的工作,注 重对实验思路的归纳和对问题解决过程的总结。
AutoEventWireup="true"
CodeBehind="WebForm1.aspx.cs"
6
Inherits="WeatherProgram.WebForm1" %>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
cout<<"============================================================= ======="<<endl;
closesocket(s); WSACleanup();
return 0;
}
天气查询
前台界面代码: <%@ Page Language="C#"
//循环判断范围内的端口,以判断端口是否开放 ,并记录结果 for(CurrentPort=BeginPort; CurrentPort<=EndPort;++CurrentPort) {
s = socket(AF_INET,SOCK_STREAM,0); //s 用来记录 socket 的返回值。 if(s == INVALID_SOCKET) { cout<<"Establish Socket Failed."<<endl; WSACleanup(); }
socket( int af, int type, int protocol);
//af:一个地址描述。目前仅支持 AF_INET 格式,也就是说 ARPA Internet 地址格
式 type:新套接口的类型描述。
//protocol:套接口所用的协议。如调用者不想指定,可用 0。
///////该函数如果调用成功就返回新创建的套接字的描述符
int OpenPort; OpenPort = 0;
//开放端口个数
cout<<"Please input the HostName:"; cin>>HostName; cout<<"Input the Begin Port:"; cin>>BeginPort; cout<<"Input the End port:"; cin>>EndPort;
五、 考核方式
1. 平时成绩+验收答辩+实验报告; 2. 五级分制。 3.
1
学生姓名:艾壮
指导教师:李丽芬 刘晓峰 曹锦纲
2014 年 6 月 14 日
(2)天气查询 1 目的与要求 1.1 任务:利用 Web Service 技术实现天气预报查询。 1.2 目的:学习在网络应用程序中创建和使用 Web 服务。Web Service 由于其跨平台的优 越性,被越来越多的网站所重用。了解其实现原理及使用方法,有利于了解未来的网络 开发技术。 1.3 要求:利用 Web Service 技术,实现一个查询实时天气预报的网站,要求界面美观, 方便易用;通过课程设计学生应该具备初步分析、设计和开发网络应用软件的能力,具 备分析与检查软件错误、解决和处理实验结果的能力。 1.4 学生要求人数:1 人。 2 主要内容
using namespace std;
typedef unsigned int uint; vector<uint> v;
int main() { WORD wsVersion = MAKEWORD(2,0); //socket 的版本 WSADATA wsaData; //这个结构被用来存储被 WSAStartup 函数调用后返回的 Windows Sockets 数据。它包含 Winsock.dll 执行的数据。 struct sockaddr_in sin; //sockaddr_in 结构,表示 socket address and internet style uint BeginPort; //开始端口 uint EndPort; //结束端口
3
uint CurrentPort; uint i=0;
//正在扫描的端口
char HostName[256]; //要扫描的主机
SOCKET s;
//保存创建 socket 时的返回值 /////////////////////////
////////////////////创建一个套接口。 #include <winsock.h> SOCKET PASCAL FAR
2
重对实验思路的归纳和对问题解决过程的总结。 五、 考核方式
4. 平时成绩+验收答辩+实验报告; 5. 五级分制。
学生姓名:艾壮 指导教师:李丽芬 刘晓峰 曹锦纲
2014 年 6 月 14 日
二、综合实验正文 端口扫描程序的程序代码
#include <winsock2.h> #include <windef.h> #include <iostream> #include <vector> #pragma comment(lib,"ws2_32.lib")
综合实验报告
( 2013 -- 2014 年度第二学期)
名 称:
网络综合实验
题 目: 端口扫描程序和天气查询
院 系:
计算机系
班 级:
学 号:
学生姓名:
指导教师: 李丽芬 刘晓峰 曹锦纲
设计周数:
2周
成 绩:
日期: 2014 年 6 月 14 日
一、 目的与要求
1. 任务:设计并实现一个端口扫描程序,检测某个 IP 或某段 IP 的计算机的端口工作 情况。
cout<<"Port: "<<CurrentPort<<", Status: Opened."<<endl; OpenPort ++; v.push_back(CurrentPort);//用于数值的自动增加 vector(uint) v closesocket(s); } }
cout<<endl<<"Resaults: Host "<<HostName<<" has opened "<<OpenPort<<" port.Opened port as follow:"<<endl;
Transitional//EN"
<html xmlns="/1999/xhtml"> <head id="Head1" runat="server">
<title></title> <style type="text/css">
.style1 {
margin-left:340px;margin-top:140px; font-size: xx-large; } body { background-image:url(image/2.jpg); background-repeat:no-repeat; } #form1 { height: 773px; width: 1176px; } .link1 { margin-left:200px; } .link2 { margin-left:130px; } .link3 { margin-left:130px; } .link4 { margin-left:130px; } .link5 { margin-left:130px; }
7
.link2 a hover {
text-decoration:underline; } </style> </head> <body> <form id="form1" runat="server"> <div class="style1">