freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

大學(xué)卡拉ok點播系統(tǒng)設(shè)計畢業(yè)論文(編輯修改稿)

2024-08-23 04:43 本頁面
 

【文章內(nèi)容簡介】 放時各個模塊不阻擋播放界面參數(shù)設(shè)置模塊包括:(1)參數(shù)設(shè)置 進行客戶端連接設(shè)定,如SQL、服務(wù)端IP設(shè)定(2)再次連接 更改參數(shù)后再次連接服務(wù)端進行登陸通訊模塊包括: (1)監(jiān)聽模塊 監(jiān)聽服務(wù)端發(fā)送的命令并做相應(yīng)動作(2)連接模塊 向服務(wù)端發(fā)送連接請求 編程知識點 套接字套接字,簡單的說就是通信的兩方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程   應(yīng)用層通過傳輸層進行數(shù)據(jù)通信時,TCP和UDP會遇到同時為多個應(yīng)用程序進程提供并發(fā)服務(wù)的問題。多個TCP連接或多個應(yīng)用程序進程可能需要通過同一個 TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進程和連接,許多計算機操作系統(tǒng)為應(yīng)用程序與TCP/IP協(xié)議交互提供了稱為套接字(Socket)的接口。   區(qū)分不同應(yīng)用程序進程間的網(wǎng)絡(luò)通信和連接,主要有3個參數(shù):通信的目的IP地址、使用的傳輸層協(xié)議(TCP或UDP)和使用的端口號。Socket原意是 “插座”。通過將這3個參數(shù)結(jié)合起來,與一個“插座”Socket綁定,應(yīng)用層就可以和傳輸層通過套接字接口,區(qū)分來自不同應(yīng)用程序進程或網(wǎng)絡(luò)連接的通信,實現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。   Socket可以看成在兩個程序進行通訊連接中的一個端點,是連接應(yīng)用程序和網(wǎng)絡(luò)驅(qū)動程序的橋梁,Socket在應(yīng)用程序中創(chuàng)建,通過綁定與網(wǎng)絡(luò)驅(qū)動建立關(guān)系。此后,應(yīng)用程序送給Socket的數(shù)據(jù),由Socket交網(wǎng)絡(luò)驅(qū)動程序向網(wǎng)絡(luò)上發(fā)送出去。計算機從網(wǎng)絡(luò)上收到與該Socket綁定IP地址和端口號相關(guān)的數(shù)據(jù)后,由網(wǎng)絡(luò)驅(qū)動程序交給Socket,應(yīng)用程序便可從該Socket中提取接收到得數(shù)據(jù),網(wǎng)絡(luò)應(yīng)用程序就是這樣通過Socket進行數(shù)據(jù)的發(fā)送與接收的?! ≈档米⒁獾氖荌P地址都是32位地址,這是IP協(xié)議版本4(簡稱Ipv4)規(guī)定的,目前由于IPv4地址已近耗盡,所以IPv6地址正逐漸代替Ipv4地址,Ipv6地址則是128位無符號整數(shù)。 假設(shè)第二個程序被加入圖1的網(wǎng)絡(luò)的Host B中,那么由Host A傳來的信息如何能被正確的傳給程序B而不是傳給新加入的程序呢?這是因為每一個基于TCP/IP網(wǎng)絡(luò)通訊的程序都被賦予了唯一的端口和端口號,端口是一個信息緩沖區(qū),用于保留Socket中的輸入/輸出信息,端口號是一個16位無符號整數(shù),范圍是065535,以區(qū)別主機上的每一個程序(端口號就像房屋中的房間號),低于256的短口號保留給標準應(yīng)用程序,比如pop3的端口號就是110,每一個套接字都組合進了IP地址、端口、端口號,這樣形成的整體就可以區(qū)別每一個套接字。 多線程在一個程序中,這些獨立運行的片斷叫作“線程”(Thread),利用它編程的概念就叫作“多線程處理”。多線程處理一個常見的例子就是用戶界面。利用線程,用戶可按下一個按鈕,然后程序會立即作出響應(yīng),而不是讓用戶等待程序完成了當前任務(wù)以后才開始響應(yīng)。   最開始,線程只是用于分配單個處理器的處理時間的一種工具。但假如操作系統(tǒng)本身支持多個處理器,那么每個線程都可分配給一個不同的處理器,真正進入“并行運算”狀態(tài)。從程序設(shè)計語言的角度看,多線程操作最有價值的特性之一就是程序員不必關(guān)心到底使用了多少個處理器。程序在邏輯意義上被分割為數(shù)個線程;假如機器本身安裝了多個處理器,那么程序會運行得更快,毋需作出任何特殊的調(diào)校。   根據(jù)前面的論述,大家可能感覺線程處理非常簡單。但必須注意一個問題:共享資源!如果有多個線程同時運行,而且它們試圖訪問相同的資源,就會遇到一個問題。舉個例子來說,兩個進程不能將信息同時發(fā)送給一臺打印機。為解決這個問題,對那些可共享的資源來說(比如打印機),它們在使用期間必須進入鎖定狀態(tài)。所以一個線程可將資源鎖定,在完成了它的任務(wù)后,再解開(釋放)這個鎖,使其他線程可以接著使用同樣的資源。 多線程是為了同步完成多項任務(wù),不是為了提高運行效率,而是為了提高資源使用效率來提高系統(tǒng)的效率。線程是在同一時間需要完成多項任務(wù)的時候?qū)崿F(xiàn)的。實現(xiàn)的方法有:創(chuàng)建線程:   創(chuàng)建一個新的Thread對象的實例。Thread的構(gòu)造函數(shù)接受一個參數(shù):   Thread DummyThread newThread( newThreadStart(dummyFunction) )。   執(zhí)行線程:使用Threading命名空間里的start方法來運行線程: ()。   組合線程:   經(jīng)常會出現(xiàn)需要組合多個線程的情況,就是當某個線程需要其他線程的結(jié)束來完成自己的任務(wù)。假設(shè)DummyThread必須等待DummyPriorityThread來完成自己的任務(wù),只需要這樣做:() 。  暫停線程: (Time in Second)。   中止線程:   如果需要中止線程可以使用如下的代碼:   ()。Database 類:類方便了程序?qū)?shù)據(jù)庫操作的調(diào)用。主要定義了數(shù)據(jù)庫的ADO連接方式,其中創(chuàng)建了數(shù)據(jù)庫IP、ID、PWD和服務(wù)端IP等。創(chuàng)建了ADO連接所需的SQL Command對象、DataSet對象、DataReader 對象。 其中全局變量有以下: public static string data_IP = 。 public static string data_ID = sa。 public static string data_PW = jcqhqyjs。 public static string data_DATA = kalaok。 public static string server_IP = 。TCP_socket類定義socket對象的字段。調(diào)用類:using 。using 。using 。using 。using 。using 。using 。using 。using 。using 。using 。using 。 系統(tǒng)編程 整體界面以單窗體,控制控件的顯隱及其移動等實現(xiàn)所需要的效果,整體窗體如下圖: 客戶端系統(tǒng)界面截圖 服務(wù)端界面截圖 點播模塊構(gòu)建通過菜單欄分別調(diào)用了全部瀏覽、歌手點播、類別點播、歌名點播、排行榜。界面以listview為主,通過一定的篩選條件進行對數(shù)據(jù)庫讀取歌曲信息。讀取信息包括了歌名、歌手、類別、路徑(不顯示),ID號為自動生成。選歌時候,雙擊該歌曲會自動添加到已點歌曲列表中,點播界面如下圖: 點播界面截圖關(guān)鍵代碼如下: region 查詢情況// searchflag 為查詢方式的信息傳遞標志1表示歌手查詢;表示歌名查詢;表示類別查詢 private void button_search_Click(object sender, EventArgs e) { string str = ()。 if (searchflag == 1)// { SqlDataReader sqlread = (select name,author,leibie,path from movies where author = 39。 + str + \39。)。 yidian_table_display(sqlread)。 } else if (searchflag == 2) { SqlDataReader sqlread = (select name,author,leibie,path from movies where name = 39。 + str + \39。)。 yidian_table_display(sqlread)。 } else if (searchflag == 3) { SqlDataReader sqlread = (select name,author,leibie,path from movies where leibie = 39。 + str + \39。)。 yidian_table_display(sqlread)。 } } endregion region 雙擊添加已點歌曲 private void listView_show_MouseDoubleClick(object sender, MouseEventArgs e) { ListViewItem temp = new ListViewItem ([0].SubItems[0].Text)。 ([0].SubItems[1].Text)。 ([0].SubItems[4].Text)。 //if((temp)) (temp)
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1