李艦
隨著互聯網技術的突飛發展,互聯網得到了普及應用,給人們的生活帶來許多便利,同時也推動了教育的發展。傳統的作業提交都是教師布置完作業,學生在課外完成作業,然后提交紙制的方式,這種方法浪費了紙張,同時作業的提交也受到時間和地點的限制,不利于作業的及時提交,這種傳統作業提交方式已經過時,為了增加作業提交的靈活性,讓學生隨時隨地都能提交作業,本文設計了作業提交系統。
一、系統的功能
設計的學生作業提交系統采用C/S結構,使用易語言完成,主要有由服務器和學生客戶端兩個部份組成,服務器主要是接收學生提交上來的作業,并且保存到指定的位置,以便教師能及時掌握學生作業提交情況;服務器還有日志管理的需要,能夠顯示學生提交作業的情況。客戶端是主要是讓學生提交作業,有服務器連接功能和上傳文件等兩個功能,服務器鏈接功能主要是連接到服務器的功能,只有正確連接到服務器后才能提交作業。
二、系統運行的環境
由于系統采用的是易語言編寫,對硬件和軟件的要求都不是太高,此系統可以在局域網中使用,也可以在互聯網中使用。易語言可以兼容多個系統,可以運行在各種不同的操作系統環境。
(一)系統的設計實現
1、服務器的設計
建立一個服務器界面,在界面中添加一個服務器控件和“事件”編輯框,用于顯示相關的信息,包括客戶端登陸的IP相關信息,還有作業上傳的信息。服務器啟動時,就等待是否有客戶登陸,如果有客戶登陸就在事件中顯示客戶的信息。
定義兩個函數:_服務器1_客戶進入 和_服務器1_客戶離開 來實現這兩個功能。
_服務器1_客戶進入的實現代碼如下:
事件.加入文本 (“客戶:” + 服務器1.取回客戶 ( ) + “進入服務器”+#換行符+#換行符)_服務器1_客戶離開 函數的實現代碼如下:
事件.加入文本 (“客戶:” + 服務器1.取回客戶( )+“離開服務器”+#換行符+#換行符)當有文件上傳時,就會啟動“_服務器1_數據到達”函數接收數據,對“服務器1.取回數據( )”中的數據進行解析,包括上傳文件名、文件大小、服務器保存目錄。具體格式如:事件.(“有文件完成上傳:” + “此文件由客戶” + 上傳隊列 [次數]。
2、客戶端的設計
建立一個客戶端界面,在界面中添加一個客戶控件,再放一個兩個編輯框,分別命名為“服務器地址”和“端口”,再添加兩個按鈕,命名為“連接服務器”和“上傳文件”。
客戶端啟動時,先輸入“服務器地址”和“端口”,然后點擊“連接服務器”,此時如果服務器如果打開,連接成功后在服務器那邊顯示客戶端的登陸信息。連接服務器實現的代碼如下:.如果 (客戶.連接 (服務器地址.內容, 到整數 (端口.內容)) ≠ 真)信息框 (“連接失敗了!請檢查服務器是否開啟,網線是否被拔出!”, 0, “連接失敗!”) 連接成功 = 假.否則 連接.標題 = “連接成功!”
連接成功 = 真
連接服務器成功后,點擊“上傳文件”從彈出的文件框選擇所要提交的文件就可上傳了。上傳成功后,在服務器上會有顯示提示。點擊“上傳文件”代碼如下:文件 = 瀏覽文件夾 (“選擇一個需要上傳的文件”, 真)
加入成員(上傳隊列, 文件)
上傳隊列 ( )
上傳隊列函數中就進行數據發送。具體代碼如下:
.計次循環首(取數組成員數 (上傳隊列), 次數)
客戶.發送數據(建立上傳文件請求 (上傳隊列 [次數]))
.計次循環尾 ( )
建立上傳文件請求的函數代碼如下:
重定義數組 (數據組.參數, 假, 3)
數據組.參數 [1] = 到字節集 (“上傳文件請求”) ' 1代表請求類型是上傳類型
數據組.參數 [2] = 到字節集 (上傳的文件) ' 上傳文件名, 客戶端的全路徑
文件號 = 打開文件 (上傳的文件, 3, 1)
關閉文件 (文件號)
返回 (數據封裝 (數據組))
三、結論
本文設計的學生作業提交系統能夠正確的連接到指定的服務器,連接成功后,能夠正確的上傳作業,功能與預期效果一致,達到設計要求。
(作者單位:柳州鐵道職業技術學院教務處)