




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络编程小结班级:090342 学号:09034217 姓名:李德风一、 网络编程基本概念通过使用套接字来达到进程间通信目的编程就是网络编程。windows提供的基于网络编程的就是套接字也就是winsock,但是现在Winpcap也是一个比较方便的工具。 网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用,编程人员可以不用考虑 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的!中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理! 代码,开发工具,数据库,服务器架设和网页设计这5部分你都要接触 代码分静态代码和动态代码 静态代码是服务器不解析直接发送给客户端的部分,用做布局效果,一般不用于数据库操作 静态代码分html,javascript,css等,其中html语言是基础,要学网络编程就先学html语言.javascript用于实现某些特效,css是样式语言.这3个语言组合起来,可以设计出美妙的网页效果 动态代码是服务器需要解析的部分,用作数据库连接操作等.有php,jsp,asp这几种语言你只用先学一种就可.如果是想快速入门,建议先学asp,如果想学了找工作等,建议学php或jsp, 开发工具有很多种,我推荐一种,网络3剑客,其中dw是开发代码的,fw是做图的.flash是做动画的. 数据库要结合你学的动态语言来选择,asp系列的,你可以使用access,大型点使用mssql. php和mysql是很好的搭档. 服务器架设也是结合你学的动态语言的,windows下安装iis很方便,iis可以运行asp,安装.net框架后能运行,这两者架设相对简单,也是我推荐你入门学asp的原因.php一般安装apache服务器,jsp一般安装tomcat服务器.只有架设好服务器,才能浏览动态语言编写的程序. 虽然是编程,但是总会涉及到网页设计部分,还是要去学学怎么简单的作图和动画。二、关于基本语言的一些知识1.删除记录 opendataconn 打开数据库连接 xxlb=RtnReplaceInt(Trim(request(xxlb),0) 从里到外依次是接收xxlb变量,去除变量两端的空格,最外层是一个自定义函数,估计与替换有关。 id=changechr(request(id) 接收id,并转换成字符串 ids=split(id,) 把id按 , 分割,并保存到数组ids中 for i=0 to ubound(ids) 用for循环遍历数组 tt=trim(ids(i) 数组元素去除两端空格后赋值给tt conn.executedelete from house where id=&tt& 删除数据表中id=tt变量的记录 next 循环结束 response.redirect house.asp?xxlb=&xxlb& 跳转到house页面并用get方法传递xxlb参数,值为xxlb变量的值. closedataconn 关闭数据库连接 2.连接数据库 dim conn 定义变量 dim char_str(20) 定义数组 sub OpenDataConn() 自定义过程,用户链接数据库地 dim connstr 定义变量 connstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= connstr = connstr & Server.MapPath(././data/fyhouse_free.mdb) 数据库驱动字符串 response.write connstr 输出变量connstr的值 set conn=Server.CreateObject(AdoDb.Connection) 创建连接对象 conn.Open connstr 链接数据库 end sub 这句是过程的结束语,但从你贴出来的代码来看并没有开头。3.其他(1).ASP错误信息解决:IIS启用父路径的设置.举例:公司有个客户保修网站后台无法访问,我查看了源代码,发现ASP代码本身并没有什么问题。而且我下到本地能够访问。就是在网上不能正常连接,显示入下错误:Server.MapPath() 错误 ASP 0175 : 80004005 不允许的 Path 字符 /0709/dqyllhsub/news/OpenDatabase.asp,行 4 在 MapPath 的 Path 参数中不允许字符 .网页里面用了一个 Response.Redirect 的路径重指向,客户页面里面指向路径写的是相对路径,省略了网站域名地址。主要是IIS服务器没有开启父路径,修改方法:在IIS中 属性-主目录-配置-选项中。把”启用父路径“前面打上勾。确认刷新。如果服务器提供商出于安全考虑不开启父路径,建议路径指向的时候写绝对路径,即完整地址 如/images/logo.gifIIS6.0安装后默认设置是,不开启父路径。(2).ASP网站程序自动升级实现的方法现在流行虚拟主机建站,我也有个网站,也算是个站长咯。当了近一年的站长,感到网站程序每次升级的时候颇为麻烦:先去官方看公告,然后下载升级包到本地,解压,FTP上传到虚拟主机。这些都是累人的体力活,加之本人又懒得很,所以异想天开的觉得要是程序能够自动升级就好了。所以就想了想,写了本文,希望对WEB程序开发者有帮助。这里只针对ASP,因为我只会ASP :-(先看看传统的win32程序的升级过程(比如杀毒软件),它是依靠软件的升级程序通过网络连接到服务器分析并下载升级文件到本地。WEB程序有点不一样,因为它是运行于WEB服务器。它最终是要把升级服务器上的文件覆盖到WEB服务器,站长的电脑只是中转。如果直接把升级服务器上的文件Copy到WEB服务器(而不通过站长中转)那就实现了自动升级。好在系统自带了一个 Microsoft.XMLHTTP 组件用于访问WEB,在ASP中可以调用它来实现连接升级服务器下载升级文件。以下代码是利用 Microsoft.XMLHTTP下载文件的例子:%Set xPost = CreateObject(Microsoft.XMLHTTP) xPost.Open GET,/test.exe,False xPost.Send() Set sGet = CreateObject(ADODB.Stream) sGet.Mode = 3 sGet.Type = 1 sGet.Open() sGet.Write(xPost.responseBody) sGet.SaveToFile Server.MapPath(update.exe),2 set sGet = nothing set sPOST = nothing response.Write(下载文件成功!)% 上面代码就是把 /test.exe保存到WEB服务器当前目录,至于Microsoft.XMLHTTP 的更多用法还是看看MSDN吧。如果文件比较多,就会多次调用Microsoft.XMLHTTP连接网络,就可能出现某次连接失败部分文件未能更新的情况,为了避免这种情况,最好是把所有文件打包为一个文件一次下载到WEB后再解包。呵呵,这里说的打包可不是RAR或者ZIP包,而是我们自己定义。比如把所有文件拼接为一个,然后再根据特殊的记号分开。现在没这么麻烦咯,因为有个现成的办法,我们使用拿来主义就是:把所有文件(二进制形式)及其路径信息放入Access数据库。下面这个vbs文件(来自海洋顶端2006Plus)就是打包当前目录的所有文件的: Dim n, ws, fsoX, thePath Set ws = CreateObject(WScript.Shell) Set fsoX = CreateObject(Scripting.FileSystemObject) thePath = ws.Exec(cmd /c cd).StdOut.ReadAll() & i = InStr(thePath, Chr(13) thePath = Left(thePath, i - 1) n = len(thePath)On Error Resume Next addToMdb(thePath) Wscript.Echo 当前目录已经打包完毕,根目录为当前目录 Sub addToMdb(thePath) Dim rs, conn, stream, connStr Set rs = CreateObject(ADODB.RecordSet) Set stream = CreateObject(ADODB.Stream) Set conn = CreateObject(ADODB.Connection) Set adoCatalog = CreateObject(ADOX.Catalog) connStr = Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Packet.mdb adoCatalog.Create connStr conn.Open connStr conn.Execute(Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, P Text, fileContent Image) stream.Open stream.Type = 1 rs.Open FileData, conn, 3, 3 fsoTreeForMdb thePath, rs, stream rs.Close Conn.Close stream.Close Set rs = Nothing Set conn = Nothing Set stream = Nothing Set adoCatalog = Nothing End Sub Function fsoTreeForMdb(thePath, rs, stream) Dim i, item, theFolder, folders, files sysFileList = $ & WScript.ScriptName & $Packet.mdb$Packet.ldb$ Set theFolder = fsoX.GetFolder(thePath) Set files = theFolder.Files Set folders = theFolder.SubFolders For Each item In folders fsoTreeForMdb item.Path, rs, stream Next For Each item In files If InStr(LCase(sysFileList), $ & LCase(item.Name) & $) = 0 Then rs.AddNew rs(P) = Mid(item.Path, n + 2) stream.LoadFromFile(item.Path) rs(fileContent) = stream.Read() rs.Update End If Next Set files = Nothing Set folders = Nothing Set theFolder = Nothing End Function 以下是解包的ASP文件: (3).ASP进阶学习:一些VBscrpt函数Array()函数返回一个数组 表达式 Array(list) 允许数据类型: 字符,数字均可 实例: 返回结果: 建立了一个包含7个元素的数组myArray myArray(Sunday,Monday, . . Saturday) CInt() 函数将一个表达式转化为数字类型 表达式 CInt(expression) 允许数据类型: 任何有效的字符均可 实例: 返回结果: 236 转化字符234为数字234,如果字符串为空,则返回0值 CreateObject() 函数建立和返回一个已注册的ACTIVEX组件的实例。 表达式 CreateObject(objName) 允许数据类型: objName 是任何一个有效、已注册的ACTIVEX组件的名字. 实例: CStr() 函数转化一个表达式为字符串. 表达式 CStr(expression) 允许数据类型: expression 是任何有效的表达式。 实例: 返回结果: 转化数字“5”为字符“5”。 Date() 函数返回当前系统日期. 表达式 Date() 允许数据类型: None. 实例: 返回结果: 9/9/00 DateAdd() 函数返回一个被改变了的日期。 表达式 DateAdd(timeinterval,number,date) 允许数据类型: timeinterval is the time interval to add; number is amount of time intervals to add; and date is the starting date. 实例: 返回结果: 9/9/00 3:34:45 PM m = month; d = day; If currentDate is in time format then, h = hour; s = second; DateDiff() 函数返回两个日期之间的差值。 表达式 DateDiff(timeinterval,date1,date2 , firstdayofweek , firstweekofyear) 允许数据类型: timeinterval 表示相隔时间的类型,如“M“表示“月”。 实例: 返回结果: 从9/9/00 到2000年还有 150 天. Day() 函数返回一个月的第几日 . 表达式 Day(date) 允许数据类型: date 是任何有效的日期。 实例: 返回结果: 4 formatCurrency() 函数返回表达式,此表达式已被格式化为货币值 表达式 formatCurrency(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允许数据类型: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置; LeadingDigit 三态常数,指示是否显示小数值小数点前面的零。 实例: 返回结果: $34.35 formatDateTime() 函数返回表达式,此表达式已被格式化为日期或时间 表达式 formatDateTime(Date, , Namedformat) 允许数据类型: Namedformat 指示所使用的日期/时间格式的数值,如果省略,则使用 vbGeneralDate. 实例: 返回结果: Sunday, September 09, 2000 formatNumber() 函数返回表达式,此表达式已被格式化为数值. 表达式 formatNumber(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允许数据类型: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。; LeadingDigit i指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。; Paren 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。; GroupDigit i指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。. 实例: 返回结果: 45.325 formatPercent() 函数返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以 100 )。 (%) 表达式 formatPercent(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允许数据类型: 同上. 实例: 返回结果: 45.267% Hour() 函数以24时返回小时数. 表达式 Hour(time) 允许数据类型: 实例: 返回结果: 16 (Hour has been converted to 24-hour system) Instr() 函数返回字符或字符串在另一个字符串中第一次出现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏那曲地区嘉黎县2025届数学三下期末检测试题含解析
- 商务礼仪培训课件
- 2025年租赁合同范本参考文献
- 2025汽车销售融资租赁合同模板
- 2025建筑物外墙及阳台栏杆翻新项目合同
- 2025水电工合同范文合同
- 2025年济南长清区八年级下学期数学期中考试试题(含答案)
- 2025智能家居动漫设计合同
- 2025年石油销售居间合同协议范本
- 电子口岸简介
- 专题13 统计与概率-【好题汇编】五年(2020-2024)高考数学真题分类汇编(含答案解析)
- 国家开放大学本科(非英语专业)学士学位英语统一考试样题
- GB/T 44273-2024水力发电工程运行管理规范
- 城轨行车课程设计
- 中职护理专业护理服务质量评价体系研究
- 2024年南京市中考历史试题及答案
- 小学生卫生知识健康教育精课件
- A类供应商绩效评价表
- 新目标英语初三英语总复习资料讲义
- 体育馆钢结构工程马道施工方案
- 2024年全国中学生数学奥林匹克竞赛内蒙古赛区初赛试卷(解析版)
评论
0/150
提交评论