已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
網(wǎng)絡(luò)編程小結(jié)班級:090342 學號:09034217 姓名:李德風一、 網(wǎng)絡(luò)編程基本概念通過使用套接字來達到進程間通信目的編程就是網(wǎng)絡(luò)編程。windows提供的基于網(wǎng)絡(luò)編程的就是套接字也就是winsock,但是現(xiàn)在Winpcap也是一個比較方便的工具。 網(wǎng)絡(luò)編程從大的方面說就是對信息的發(fā)送到接收,中間傳輸為物理線路的作用,編程人員可以不用考慮 網(wǎng)絡(luò)編程最主要的工作就是在發(fā)送端把信息通過規(guī)定好的協(xié)議進行組裝包,在接收端按照規(guī)定好的協(xié)議把包進行解析,從而提取出對應(yīng)的信息,達到通信的目的!中間最主要的就是數(shù)據(jù)包的組裝,數(shù)據(jù)包的過濾,數(shù)據(jù)包的捕獲,數(shù)據(jù)包的分析,當然最后再做一些處理! 代碼,開發(fā)工具,數(shù)據(jù)庫,服務(wù)器架設(shè)和網(wǎng)頁設(shè)計這5部分你都要接觸 代碼分靜態(tài)代碼和動態(tài)代碼 靜態(tài)代碼是服務(wù)器不解析直接發(fā)送給客戶端的部分,用做布局效果,一般不用于數(shù)據(jù)庫操作 靜態(tài)代碼分html,javascript,css等,其中html語言是基礎(chǔ),要學網(wǎng)絡(luò)編程就先學html語言.javascript用于實現(xiàn)某些特效,css是樣式語言.這3個語言組合起來,可以設(shè)計出美妙的網(wǎng)頁效果 動態(tài)代碼是服務(wù)器需要解析的部分,用作數(shù)據(jù)庫連接操作等.有php,jsp,asp這幾種語言你只用先學一種就可.如果是想快速入門,建議先學asp,如果想學了找工作等,建議學php或jsp, 開發(fā)工具有很多種,我推薦一種,網(wǎng)絡(luò)3劍客,其中dw是開發(fā)代碼的,fw是做圖的.flash是做動畫的. 數(shù)據(jù)庫要結(jié)合你學的動態(tài)語言來選擇,asp系列的,你可以使用access,大型點使用mssql. php和mysql是很好的搭檔. 服務(wù)器架設(shè)也是結(jié)合你學的動態(tài)語言的,windows下安裝iis很方便,iis可以運行asp,安裝.net框架后能運行,這兩者架設(shè)相對簡單,也是我推薦你入門學asp的原因.php一般安裝apache服務(wù)器,jsp一般安裝tomcat服務(wù)器.只有架設(shè)好服務(wù)器,才能瀏覽動態(tài)語言編寫的程序. 雖然是編程,但是總會涉及到網(wǎng)頁設(shè)計部分,還是要去學學怎么簡單的作圖和動畫。二、關(guān)于基本語言的一些知識1.刪除記錄 opendataconn 打開數(shù)據(jù)庫連接 xxlb=RtnReplaceInt(Trim(request(xxlb),0) 從里到外依次是接收xxlb變量,去除變量兩端的空格,最外層是一個自定義函數(shù),估計與替換有關(guān)。 id=changechr(request(id) 接收id,并轉(zhuǎn)換成字符串 ids=split(id,) 把id按 , 分割,并保存到數(shù)組ids中 for i=0 to ubound(ids) 用for循環(huán)遍歷數(shù)組 tt=trim(ids(i) 數(shù)組元素去除兩端空格后賦值給tt conn.executedelete from house where id=&tt& 刪除數(shù)據(jù)表中id=tt變量的記錄 next 循環(huán)結(jié)束 response.redirect house.asp?xxlb=&xxlb& 跳轉(zhuǎn)到house頁面并用get方法傳遞xxlb參數(shù),值為xxlb變量的值. closedataconn 關(guān)閉數(shù)據(jù)庫連接 2.連接數(shù)據(jù)庫 dim conn 定義變量 dim char_str(20) 定義數(shù)組 sub OpenDataConn() 自定義過程,用戶鏈接數(shù)據(jù)庫地 dim connstr 定義變量 connstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= connstr = connstr & Server.MapPath(././data/fyhouse_free.mdb) 數(shù)據(jù)庫驅(qū)動字符串 response.write connstr 輸出變量connstr的值 set conn=Server.CreateObject(AdoDb.Connection) 創(chuàng)建連接對象 conn.Open connstr 鏈接數(shù)據(jù)庫 end sub 這句是過程的結(jié)束語,但從你貼出來的代碼來看并沒有開頭。3.其他(1).ASP錯誤信息解決:IIS啟用父路徑的設(shè)置.舉例:公司有個客戶保修網(wǎng)站后臺無法訪問,我查看了源代碼,發(fā)現(xiàn)ASP代碼本身并沒有什么問題。而且我下到本地能夠訪問。就是在網(wǎng)上不能正常連接,顯示入下錯誤:Server.MapPath() 錯誤 ASP 0175 : 80004005 不允許的 Path 字符 /0709/dqyllhsub/news/OpenDatabase.asp,行 4 在 MapPath 的 Path 參數(shù)中不允許字符 .網(wǎng)頁里面用了一個 Response.Redirect 的路徑重指向,客戶頁面里面指向路徑寫的是相對路徑,省略了網(wǎng)站域名地址。主要是IIS服務(wù)器沒有開啟父路徑,修改方法:在IIS中 屬性-主目錄-配置-選項中。把”啟用父路徑“前面打上勾。確認刷新。如果服務(wù)器提供商出于安全考慮不開啟父路徑,建議路徑指向的時候?qū)懡^對路徑,即完整地址 如/images/logo.gifIIS6.0安裝后默認設(shè)置是,不開啟父路徑。(2).ASP網(wǎng)站程序自動升級實現(xiàn)的方法現(xiàn)在流行虛擬主機建站,我也有個網(wǎng)站,也算是個站長咯。當了近一年的站長,感到網(wǎng)站程序每次升級的時候頗為麻煩:先去官方看公告,然后下載升級包到本地,解壓,F(xiàn)TP上傳到虛擬主機。這些都是累人的體力活,加之本人又懶得很,所以異想天開的覺得要是程序能夠自動升級就好了。所以就想了想,寫了本文,希望對WEB程序開發(fā)者有幫助。這里只針對ASP,因為我只會ASP :-(先看看傳統(tǒng)的win32程序的升級過程(比如殺毒軟件),它是依靠軟件的升級程序通過網(wǎng)絡(luò)連接到服務(wù)器分析并下載升級文件到本地。WEB程序有點不一樣,因為它是運行于WEB服務(wù)器。它最終是要把升級服務(wù)器上的文件覆蓋到WEB服務(wù)器,站長的電腦只是中轉(zhuǎn)。如果直接把升級服務(wù)器上的文件Copy到WEB服務(wù)器(而不通過站長中轉(zhuǎn))那就實現(xiàn)了自動升級。好在系統(tǒng)自帶了一個 Microsoft.XMLHTTP 組件用于訪問WEB,在ASP中可以調(diào)用它來實現(xiàn)連接升級服務(wù)器下載升級文件。以下代碼是利用 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服務(wù)器當前目錄,至于Microsoft.XMLHTTP 的更多用法還是看看MSDN吧。如果文件比較多,就會多次調(diào)用Microsoft.XMLHTTP連接網(wǎng)絡(luò),就可能出現(xiàn)某次連接失敗部分文件未能更新的情況,為了避免這種情況,最好是把所有文件打包為一個文件一次下載到WEB后再解包。呵呵,這里說的打包可不是RAR或者ZIP包,而是我們自己定義。比如把所有文件拼接為一個,然后再根據(jù)特殊的記號分開?,F(xiàn)在沒這么麻煩咯,因為有個現(xiàn)成的辦法,我們使用拿來主義就是:把所有文件(二進制形式)及其路徑信息放入Access數(shù)據(jù)庫。下面這個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 當前目錄已經(jīng)打包完畢,根目錄為當前目錄 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函數(shù)Array()函數(shù)返回一個數(shù)組 表達式 Array(list) 允許數(shù)據(jù)類型: 字符,數(shù)字均可 實例: 返回結(jié)果: 建立了一個包含7個元素的數(shù)組myArray myArray(Sunday,Monday, . . Saturday) CInt() 函數(shù)將一個表達式轉(zhuǎn)化為數(shù)字類型 表達式 CInt(expression) 允許數(shù)據(jù)類型: 任何有效的字符均可 實例: 返回結(jié)果: 236 轉(zhuǎn)化字符234為數(shù)字234,如果字符串為空,則返回0值 CreateObject() 函數(shù)建立和返回一個已注冊的ACTIVEX組件的實例。 表達式 CreateObject(objName) 允許數(shù)據(jù)類型: objName 是任何一個有效、已注冊的ACTIVEX組件的名字. 實例: CStr() 函數(shù)轉(zhuǎn)化一個表達式為字符串. 表達式 CStr(expression) 允許數(shù)據(jù)類型: expression 是任何有效的表達式。 實例: 返回結(jié)果: 轉(zhuǎn)化數(shù)字“5”為字符“5”。 Date() 函數(shù)返回當前系統(tǒng)日期. 表達式 Date() 允許數(shù)據(jù)類型: None. 實例: 返回結(jié)果: 9/9/00 DateAdd() 函數(shù)返回一個被改變了的日期。 表達式 DateAdd(timeinterval,number,date) 允許數(shù)據(jù)類型: timeinterval is the time interval to add; number is amount of time intervals to add; and date is the starting date. 實例: 返回結(jié)果: 9/9/00 3:34:45 PM m = month; d = day; If currentDate is in time format then, h = hour; s = second; DateDiff() 函數(shù)返回兩個日期之間的差值。 表達式 DateDiff(timeinterval,date1,date2 , firstdayofweek , firstweekofyear) 允許數(shù)據(jù)類型: timeinterval 表示相隔時間的類型,如“M“表示“月”。 實例: 返回結(jié)果: 從9/9/00 到2000年還有 150 天. Day() 函數(shù)返回一個月的第幾日 . 表達式 Day(date) 允許數(shù)據(jù)類型: date 是任何有效的日期。 實例: 返回結(jié)果: 4 formatCurrency() 函數(shù)返回表達式,此表達式已被格式化為貨幣值 表達式 formatCurrency(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允許數(shù)據(jù)類型: Digit 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認值為 -1,指示使用的是計算機的區(qū)域設(shè)置; LeadingDigit 三態(tài)常數(shù),指示是否顯示小數(shù)值小數(shù)點前面的零。 實例: 返回結(jié)果: $34.35 formatDateTime() 函數(shù)返回表達式,此表達式已被格式化為日期或時間 表達式 formatDateTime(Date, , Namedformat) 允許數(shù)據(jù)類型: Namedformat 指示所使用的日期/時間格式的數(shù)值,如果省略,則使用 vbGeneralDate. 實例: 返回結(jié)果: Sunday, September 09, 2000 formatNumber() 函數(shù)返回表達式,此表達式已被格式化為數(shù)值. 表達式 formatNumber(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允許數(shù)據(jù)類型: Digit 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認值為 -1,指示使用的是計算機的區(qū)域設(shè)置。; LeadingDigit i指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認值為 -1,指示使用的是計算機的區(qū)域設(shè)置。; Paren 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認值為 -1,指示使用的是計算機的區(qū)域設(shè)置。; GroupDigit i指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認值為 -1,指示使用的是計算機的區(qū)域設(shè)置。. 實例: 返回結(jié)果: 45.325 formatPercent() 函數(shù)返回表達式,此表達式已被格式化為尾隨有 % 符號的百分比(乘以 100 )。 (%) 表達式 formatPercent(Expression , Digit , LeadingDigit , Paren , GroupDigit) 允許數(shù)據(jù)類型: 同上. 實例: 返回結(jié)果: 45.267% Hour() 函數(shù)以24時返回小時數(shù). 表達式 Hour(time) 允許數(shù)據(jù)類型: 實例: 返回結(jié)果: 16 (Hour has been converted to 24-hour system) Instr() 函數(shù)返回字符或字符串在另一個字符串中第一次出現(xiàn)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村水資源管理新模式-洞察分析
- 文件加密與解密-洞察分析
- 農(nóng)莊承包合同(2篇)
- 2024年松溪縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年05月山西中國建設(shè)銀行山西省分行“建習生”暑期實習生暨萬名學子暑期下鄉(xiāng)實踐隊員招考筆試歷年參考題庫附帶答案詳解
- 2024年杭州市蕭山區(qū)中醫(yī)骨傷科醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年來安縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年滬科版選修2地理上冊階段測試試卷
- 《檔案管理教程》課件
- 2024年浙教版高二數(shù)學下冊階段測試試卷
- 基層動物防疫員培訓課件
- 《哈佛管理制度全集-中文》
- 仁愛版九年級上冊英語中考專題復習訓練課件
- 部編版四年級語文下冊第5單元大單元整體教學作業(yè)設(shè)計(教案配套)
- 【超星爾雅學習通】【紅色經(jīng)典影片與近現(xiàn)代中國發(fā)展(首都師范大學)】章節(jié)測試及答案
- 市政工程工程開工報審表及開工令
- 2022-2023學年新疆維吾爾自治區(qū)烏魯木齊市小學語文四年級上冊期末通關(guān)試卷
- GB/T 714-2015橋梁用結(jié)構(gòu)鋼
- GB/T 41130-2021展覽場館安全管理基本要求
- GB/T 38502-2020消毒劑實驗室殺菌效果檢驗方法
- GB/T 20858-2007玻璃容器用重量法測定容量試驗方法
評論
0/150
提交評論