研究生課程-網絡編程.doc_第1頁
研究生課程-網絡編程.doc_第2頁
研究生課程-網絡編程.doc_第3頁
研究生課程-網絡編程.doc_第4頁
研究生課程-網絡編程.doc_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

_1.1 Linux平臺簡單套接字編程實驗類型:設計性 一、實驗環境操作系統:Linux編程工具及集成開發環境:gcc, vi或anjuta二、實驗目的和要求實驗目的:掌握Linux平臺上簡單的客戶機端和服務器端的套接字編程。實驗要求:(1)在Linux上,編寫、編譯1個客戶機端程序和1個服務器端程序。要求客戶機端程序能發送請求給服務器端程序,服務器端程序收到后能發送本機時間給客戶機端程序。選擇TCP或UDP方式之一。(2)在相同或不同機子上,先運行服務器端程序可執行文件,后運行客戶機端程序可執行文件。附加內容:編寫聊天程序,即客戶機端程序和服務器端程序之間都能夠多次發送消息給對方,也能夠多次接收對方發送的消息。三、實驗提示1可以從/dlg/HomeTeaching_files/download/source_code/socket/v3.linux.dist.tar.Z下載可供參考的程序。解壓采用“zcat v3.linux.dist.tar.Z | tar xvf ”。編譯下列文件產生TCPdaytime、UDPtime、TCPdaytimed、UDPtimed四個可執行文件。gcc connectsock.c connectTCP.c errexit.c TCPdaytime.c o TCPdaytimegcc connectsock.c connectUDP.c errexit.c UDPtime.c o UDPtimegcc passivesock.c passiveTCP.c errexit.c TCPdaytimed.c o TCPdaytimedgcc passivesock.c passiveUDP.c errexit.c UDPtimed.c o UDPtimedTCPdaytime和TCPdaytimed分別是TCP版本的時間查詢客戶端和服務器端程序。UDPtime和UDPtimed分別是UDP版本的時間查詢客戶端和服務器端程序。此外,TCPecho.c, UDPecho.c分別是TCP和UDP版本的,實現echo服務的客戶端程序,需要用戶自己寫服務器端程序。2先找到包含主函數main()的文件進行編譯和連接,如果發現某些被調用函數沒有找到,再把包含這些被調用函數的文件一起編譯。多個文件一起編譯的辦法有三個:一是gcc file1.c file2.c , 二是把包含被調用函數的文件用#include “file1.c”的方式包含在主函數文件中,三是使用anjuta建立一個工程,和VC+很類似。3首先,通過閱讀、編譯、連接和運行別人的程序來學習編程;其次,嘗試局部修改別人的程序來理解程序中每一個細節的含義;最后,編寫自己的程序,其中可以使用別人的程序(段)。4如果編譯時提示errno沒有定義,則加上#include1.2 Windows平臺簡單套接字編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握Windows平臺上簡單的客戶機端和服務器端的套接字編程。實驗要求:(1)在Windows上,編寫、編譯1個客戶機端程序和1個服務器端程序。要求客戶機端程序能發送請求給服務器端程序,服務器端程序收到后能發送本機時間給客戶機端程序。(2)在相同或不同機子上,先運行服務器端程序可執行文件,后運行客戶機端程序可執行文件。附加內容:編寫聊天程序,即客戶機端程序和服務器端程序之間都能夠多次發送消息給對方,也能夠多次接收對方發送的消息。三、實驗提示可以在/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/daytime_tcp_server_client/ 和/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/time_udp_server_client/分別提供的TCP和UDP程序的基礎上改寫。1.3 并發套接字編程實驗類型:設計性 一、實驗環境操作系統:Windows或Linux編程工具及集成開發環境:VC+或anjuta二、實驗目的和要求實驗目的:掌握Linux或Windows平臺上多線程、多進程或異步I/O的套接字編程。實驗要求:完成下列任務之一(1)按照“7.4 多線程網絡編程的例子”(葉樹華,高志紅.網絡編程實用教程.北京:人民郵電出版社,2006)的敘述,在Windows上改寫ftp客戶端程序,使之支持多線程。(2)完成select或WSAEventSelect的一個程序,要求用多個客戶端進行測試。附加內容:(1)分別在Linux和Windows平臺上嘗試各種并發套接字編程。(2)測試對于一個并發服務器,最多有幾個客戶機可以與之相連。三、實驗提示(1)參考/dlg/HomeTeaching_files/download/source_code/socket/mfc/WinInet/mtFtp.rar中是把upload功能改成多線程的例子,通過Windiff(Microsoft Visual Studio 6.0- Microsoft Visual Studio 6.0 Tools-Windiff)了解多線程的編程語句。(2)對于select的例子,服務器程序可以參考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_synchronous_io_server/客戶機程序可以參考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_client(3)對于WSAEventSelect的例子,服務器程序可以參考/dlg/HomeTeaching_files/download/source_code/socket/select客戶機程序可以參考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_client(4)在/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/ tcp_multiple_process_server上有多進程的例子。(5)多線程程序編譯時,在Linux上要用-pthread選項;在Windows上需要更改設置: Project - Settings - 選擇C/C+屬性頁, 在Category中選擇Code Generation, 再在Use run-time library中選擇Debug Multithreaded或者multithreaded。四、思考題1與傳統串行程序設計方法相比,簡要說明并發程序設計方法的優點。2比較多線程、多進程和異步I/O這三種并發套接字編程方法的優缺點。3在多線程套接字編程中應注意哪些問題?1.4 MFC編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握Windows平臺上簡單MFC編程。實驗要求:在Windows上,編寫、編譯1個包含文本顯示框和對話框的程序。1.5 CSocket編程實驗類型:設計性 一、實驗環境:操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握CAsyncSocket和CSocket的套接字編程。實驗要求:完成對下面程序的簡單修改(比如登錄、統計)。(1)教材上的點對點通信程序(參見“5.4 CAsyncSocket類的應用實例”)。(2)教材上的多點聊天程序。三、實驗提示示例:在界面上添加一個“關閉”按鈕。第一步,修改控件的屬性。在彈出的對話框中修改與該控件功能相對應的成員函數的名字。按“OK”鍵后,出現該成員函數的定義,便可在其中添加相應的代碼進行功能的控制。例如,我們這里希望該控件實現的是關閉整個對話框的功能,所以在成員函數體內添加如下的定義:CDialog:OnCancel();由此便可簡單實現關閉按鈕的功能。請參照上例,對原程序作些簡單功能的修改。1.6 WinInet編程實驗類型:設計性 一、實驗環境:操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握WinInet的套接字編程。實驗要求:讀懂并修改 “6.4 MFC WinInet類應用程序編程實例” 中ftp客戶端程序。附加內容:讀懂教師提供的http客戶端程序,并加以修改,使之能下載文件及目錄。三、實驗提示1從/dlg/HomeTeaching_files/download/source_code/socket/WinInet/下載babyftp.zip和WinInet.rar。前者解壓后是一個無需安裝的ftp服務器,后者是提供的ftp和http客戶端程序。2讀懂ftp程序,然后修改。比如,增加查詢到文件的計數(1)修改資源,增加一個編輯框(圖1)圖1 圖2(2)通過類向導,為編輯框增加變量(圖2)(3)在void CFtpDlg:OnQuery()中插入代碼(加粗部分)m_fileNum =0;UpdateData(FALSE);bContinue=pFileFind-FindNextFile(); / 查找下一個文件while (bContinue) / 找到了第一個文件,繼續找其它的文件m_listFile.AddString(strFileName);m_fileNum+;UpdateData(FALSE);bContinue=pFileFind-FindNextFile(); / 查找下一個文件1.7 MFC WinSock類的編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握CAsyncSocket和CSocket的套接字編程。實驗要求:完成下列之一:(1)基于 “5.4 CAsyncSocket類的應用實例”的點對點通信程序,完成采用CAsyncSocket的多點聊天程序。(2)基于教材上的多點聊天程序,實現登錄功能和統計功能。1.8 HTTP協議應用編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握CHtmlView編程。實驗要求:基于“9.3 Web瀏覽器應用程序實例”中的瀏覽器程序,把最近訪問過的網頁和文件鏈接寫入一個html文件中。可選內容:對最近訪問過的網頁和文件進行LRU排序。1.9 電子郵件協議應用編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:VC+二、實驗目的和要求實驗目的:掌握SMTP和POP3編程。實驗要求:基于教材上的SMTP發送和POP3接收程序,把發送和接收功能合到一個程序中。1.10 HTML網頁編寫實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:任一文本編輯工具和網頁開發工具二、實驗目的和要求實驗目的:掌握基本html網頁編程,了解基本JavaScript或VBScript編程。實驗要求:完成一個包含個人簡歷的個人主頁,必須包含:(1), , , (2)headline, paragraph, line break, line, empty blank, comments(3)hypertext link(3)text aligning, text color, text font,(4)unnumbered lists, numbered list(5)table(6)image三、實驗提示以下提供了一個簡單例子RESUMEPersonal ProfileNameTomSex男Date of BirthJune 25, 1983Place of Birth浙江省杭州市Mail Address杭州市下沙高教園區東區學正街18號 310018Email A Objective求職目標 - 通信或網絡公司工程師 個人優勢在通信原理、計算機網絡等專業課程中獲得優秀成績(請參考成績單)曾擔任學生會學術部部長,承擔多個活動的組織工作有網絡工程師證書具有多個項目開發經驗作為剛剛畢業的本科生,有朝氣和干勁Date of Availability: From June 2008 on實際效果如下:1.11 客戶端Web編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:任一文本編輯工具,或Dreamweaver等二、實驗目的和要求實驗目的:掌握基本的JavaScript編程。實驗要求:完成一個包含JavaScript的html網頁,要求(1)網頁上能通過text box輸入學生姓名,通過radio box選擇性別,通過select輸入班級,通過checkbox輸入所選課程。(2)按“確定”鍵把輸入的學生信息保存并顯示在當前頁面上,按“重置”鍵清除當前所選,按“保存”鍵把學生信息保存到硬盤文件中。(3)自定義一個學生信息對象,命名為student,對象有如下屬性:name表示姓名,sex表示性別,class表示班級,course表示課程。(4)網頁標題欄應顯示該網頁的功能;網頁的最下方應顯示制作者的相關信息,比如: Copyright2009 版權所有 信息與電子工程學院網絡工程專業0601班XXX E-mail:(你的帶有鏈接的Email地址) 學 號:20000602020XXX(你的學號) TEL:86-27-88045615(你的聯系電話)三、實驗提示下面是滿足部分實驗要求的參考例子。 web編程技術實驗,JavaScript應用 var s;function student() this.check=function() lesson=document.form_student.lesson_1;this.course=;for (i = 0; ilesson.length; +i)if (lessoni.checked)this.course=this.course + lessoni.value + ;alert(姓名:++;性別:+this.sex+;班級:+this.class1+;已經選擇的課程:+this.course); function show() s=new student(); =document.getElementById(name_box).value;if(form_student.female.checked=1) s.sex=female; else s.sex=male; s.class1=window.document.form_student.pulldown_1.optionswindow.document.form_student.pulldown_1.selectedIndex.value; s.check(); function savetofile()var fso,f1; fso = new ActiveXObject(Scripting.FileSystemObject); f1 = fso.CreateTextFile(c:savefile.txt, true); var a = 姓名:++;性別:+s.sex+;班級:+s.class1+;已經選擇的課程:+s.course;f1.Write(a); f1.Close(); JavaScript客戶端編程學生選課記錄系統請輸入姓名:請選擇性別:男女請在下拉菜單欄中選擇您的班級:網絡0601 網絡0602 網絡0701 網絡0702 請選擇你選修的課程:網絡編程技術組網工程微機原理與接口技術網絡管理 1.12 XML編程實驗類型:設計性 一、實驗環境操作系統:Windows編程工具及集成開發環境:任一文本編輯工具和網頁開發工具二、實驗目的和要求實驗目的:掌握XML文件的編輯和顯示方法。實驗要求:編寫一個包含個人簡歷的XML文件,然后對該XML文檔分別用CSS、XSL、數據島、DOM技術,在IE中顯示其結果。三、實驗提示(1)XML文件及CSS文件例子KH-0165任建興重慶DD-345KH-0166馬辛北京DD-346KH-0233上海東方旅游公司上海DD-210customers display:block;margin:10pt;position:absolute;left:70pt; top:30pt;border-style:ridge;border-color:lime;border-width:thickcustomer display:block;margin:10pt;display:list-item;list-style-type:decimal;border-style:solid;border-color:red;border-width:thin;width:400id,name, customeraddress, orders, kind display:inlineid width:150name width:250customeraddress width:200orders width:150說明:CSS格式請參考/css/(2)XML文件及XSL文件例子CD-1023盛夏的果實莫文蔚上海音像12.50CD-1024冷酷到底羽泉上海音像17.82.1 font-weight:bold;font-size:12pt.2 font-size:10.5pt編號名稱演唱者出品公司價格(3)XML文件及XML數據島文件例子HTML數據島技術 姓 名 出生年月 電話號碼 其中被使用的ex5-12.xml是 李 明 06/10/1980 99999999 林 琳 12/12/1970 88888888 (4)XML文件及DOM例子var xmlDoc=new ActiveXObject(Microsoft.XMLDOM)/creates an instance of the Microsoft XML parserxmlDoc.async=false /如果為true,程序不論xml文件是否全部載入就開始運行下面程序xmlDoc.load(note.xml)nodes=xmlDoc.documentElement.childNodesa1.innerText=nodes.item(0).texta2.innerText=nodes.item(1).texta3.innerText=nodes.item(2).texta4.innerText=nodes.item(3).textW3Schools Internal NoteTo:From:其中被使用的note.xml是 Tove Jani Reminder Dont forget me this weekend 1.13 Web開發/應用環境的安裝實驗類型:操作性 一、實驗環境操作系統:Windows編程工具及集成開發環境:任一文本編輯工具二、實驗目的和要求實驗目的:掌握JSP開發和運行環境的安裝和基本的JSP編程。實驗要求:(1)按照“第2章 Web應用環境構建技術“的內容,安裝java開發環境,JSP應用服務器,MS SQL2000數據庫等。把基本步驟和測試結果寫入實驗報告。(2)按照第3章的內容,安裝網上書店(bookshop)系統。把基本步驟和測試結果寫入實驗報告。(3)學習第7章,一邊學習JSP語法,一邊對例程進行上機測試。把測試成功的例子及結果寫入實驗報告。三、實驗提示(0)注意點 如果計算機無法上網,請先設置其IP地址。IP是10.20.3.桌號,掩碼,網關與IP同,DNS是和。 計算機上裝有還原卡,你安裝的軟件在計算機重新啟動時會因為恢復原狀而被自動刪除,因此你在裝完軟件重啟的時候要按住F10鍵,使得前次安裝內容能夠保存下來,如果出現要求密碼輸入的窗口,可按ESC鍵。 本次實驗所需軟件包可以從 /network_programming/下載。(1)安裝j2sdk 從/javase/downloads/index.jsp下載jdk(比如jdk-6-windows-i586.exe)。 建議把sdk及后面的tomcat等都安裝到一個統一的目錄下,比如d:/server/,這樣方便日常管理配置和將來移植到別的服務器上去。比如把jdk安裝到D:serverJavajdk1.6.0目錄下,把jre安裝到D:serverJavajre1.6.0目錄下。 配置。操作:我的電腦(右鍵)-屬性-高級-環境變量。設定環境變量為:n 新建變量JAVA_HOME,變量值:D:serverJavajdk1.6.0n 新建變量CLASSPATH,變量值:.;D:serverJavajdk1.6.0libdt.jar; D:serverJavajdk1.6.0libtools.jar(注意:點號不能省略,表示當前目錄)n 編輯編輯變量PATH,在后面加上;%JAVA_HOME%bin(注意:要有分號隔開) 到這里,jdk安裝完畢,用命令簡單測試一下:java-version可以用下面的HelloWorld.java程序測試一下。public class HelloWorldpublic static void main(String args)System.out.println(Hello World!n);System.exit(0);然后進行編譯和運行。javac HelloWorld.java /編譯后產生HelloWorld.classjava HelloWorld /運行顯示“Hello World!”說明已經成功安裝jdk。如果編譯或運行中出現問題:首先確認是否拼寫錯誤,其次用”path”, “echo $CLASSPATH”(或者echo %CLASSPATH%)等確認路徑是否正確。(2)安裝tomcat 從/下載。jre(jdk)一定要在tomcat之前安裝。安裝路徑為D:servertomcat5.5。可以設定用戶名admin,密碼123456。Tomcat的目錄結構如下: 安裝完,添加一個系統變量TOMCAT_HOME,變量值為 D:servertomcat5.5 測試tomcat,在IE輸入http:/localhost:8080/或:8080/,正常工作會看見一只小貓的頁面。 啟動tomcat(通過點擊Monitor Tomcat),準備以下代碼的jsp文件,以便測試。JSP測試頁面%out.println(Hello World! );%保存為test.jsp。在D:servertomcat5.5webappsROOT下新建一個文件夾myjsp,并把test.jsp放在里面。在IE中輸入http:/localhost:8080/myjsp/test.jsp,如果顯示Hello World!說明已經成功了。(3)安裝sql server 選擇安裝SQL Server 2000開發版。SQL Server 2000開發版供程序員用來開發將SQL Server 2000用作數據存儲的應用程序。雖然開發版支持企業版的所有功能,使開發人員能夠編寫和測試可使用這些功能的應用程序,但是只能將開發版作為開發和測試系統使用,不能作為生產服務器使用。 選擇“安裝SQL Server 2000組件”選項。 選擇“安裝數據庫服務器”。 在“服務帳戶”對話窗口中,選“使用本地系統帳戶”。不建議“使用域用戶帳戶”,以避免以后WINDOWS的登錄用戶名和密碼修改了,SQL SERVER2000不能正常啟動,另外域用戶帳戶管理相對復雜些。 選擇“混合模式”,不建議用“Windows身份驗證模式”,該模式管理相對復雜些。如果您是初次接觸使用SQL Server2000的話,可以將該密碼設置為空,以方便登錄。熟練以后再設置sa的密碼,設置的密碼請不要忘記,因為基于SQL SERVER2000各種應用系統在安裝或使用過程中往往需要sa的密碼。 安裝后,可以通過“SQL Server服務管理器”程序來啟動SQL Server。(4)安裝“網上書店“實例 打開SQL Server 2000的企業管理器。點擊“還原數據庫”。 選擇需要還原的數據庫 創建數據源,n 點擊“控制面板管理工具數據源(ODBC)”,“系統DSN”選項卡 (注意要添加系統DSN,不是用戶DSN)。n 點擊單擊“添加”按鈕,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論