999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java的網絡版JQ開發心得

2017-05-04 18:24:14聶稱心杜月瑩吉璇
藝術科技 2016年12期

聶稱心+杜月瑩+吉璇

摘 要:Java語言誕生于1991年,起初他只是Sun公司為自己旗下的一些消費性電子產品所設計的通用環境,在那個年代,硬件領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意。Sun公司研發人員根據嵌入式軟件的要求對C++進行了改造,去除了留在C++的一些不太實用及影響安全的成分,并結合嵌入式系統的實時性要求,開發了Oak面向對象語言,Java的前身誕生了。經過對oak語言的一系列修改,Java在James Gosling手中誕生了。

關鍵詞:Java;James Gosling;面向對象;Oak

說到Java開發,就不得不談一談Java語言的特點,與其他語言相比,Java的可移植性、安全性較好,并提供了并發機制,具有很高的性能。其次,Java語言也最大限度地利用了網絡,App在互聯網上傳輸可以不受CPU和環境的限制。其次,他還提供了豐富的內庫供使用者選擇,當然,這些庫的底層都是由C和C++編寫的。

下面,筆者就基于網絡版的JQ開發來粗淺地談談我眼中的Java開發。娛樂聊天作為一個人們津津樂道的話題,早已深入人心,為了滿足筆者的“一己私欲”,特此開發出了類似QQ的一款聊天工具——JQ 1.0。在聊天界面中,一般由客戶端和服務器端兩個部分組成,服務器端主要是負責客戶端的連接、信息的傳遞,將客戶端A的消息傳遞給客戶端B,說起來你們可能不信,QQ的開發也是基于這個原理。也就是說,只要你是通過這個服務器發送的消息,就沒有他查不到的,只要你通過這個平臺,就沒有任何隱私可言。在客戶端與服務器端的數據傳輸中,我們需要使用到TCP和UDP協議。粗略地說一下這兩個協議,雙方都是一種網絡傳輸協議,TCP需要建立連接,而UDP不需要建立連接(無連接傳輸)。

TCP屬于可靠的傳輸協議:因為傳輸前雙方建立了連接,相當于買賣雙方建立好了交易合同,傳輸中一般不會出現意外,直到連接終止;UDP屬于不可靠的傳輸協議:UDP的所謂連接相當于一種映射,UDP單方面的認為目標地址(端口)是可用的,從而進行收發數據,而實際上目標地址(端口)未必可用,所以傳輸數據不可靠。由于TCP需要建立真實的連接,所以消耗服務器的負載要大于UDP,通過分析這些特點,信息傳輸一般會使用UDP協議。

在進行編寫程序的初期,我們需要明白,既然是聊天室就要有多個客戶端連接一個服務器端來達到大家在同一個聊天室中聊天的目的,因此,我們用到了線程,一個進程都有獨立的代碼和數據空間,進程間的切換會有較大的開銷,一個進程包含1--n個線程。同一類線程共享代碼和數據空間,每個線程有獨立的運行棧和程序計數器(PC),線程切換開銷小,多進程是指操作系統能同時運行多個任務(程序)。多線程是指在同一程序中有多個順序流在執行。其中,創建線程有兩個方法,一個是繼承Thread類,并重寫其中的run( )方法,一個是實現Runnable接口,定義其中的run( )方法。

class A extends Thread{ }//創建一個A類,

/*部分代碼略*/

//啟動線程并重寫其中的run( )方法

Thread a=new Thread(new A(){

public void run(){ }

}).start();

服務器端通過系統調用創建一個ServerSocket的類指定的本地端口綁定,就可以在端口進行偵聽。首先,服務器端需要先定義一個沒有被占用的端口,并設置本機在局域網中IP地址,客戶端指定服務器的主機地址和端口號向服務器發送連接請求,如果有客戶端連接請求,將請求發送服務器端,經服務器端同意后方可連接成功。這就是利用UDP協議來進行局域網之間的通信連接,一方決定結束通信,向對方發送結束信息,另一方收到結束信息后,雙方分別關閉各自的連接。對象停止等候客戶端連接請求反之,在客戶端程序相對簡單,只需要建立一個Socket與服務器端連接,成功后通過多線程來加載不同的用戶,過IO流來進行數據的寫入和數據的讀取。準確地說,是通過流中的高級流序列化流和反序列化流來進行數據的交互。

以服務器所在的主機的IP為“111.111.111.111”所偵聽的端口號為“8088”。分別先后啟動服務器和客戶端應用程序,客戶端用戶填入登錄信息,當服務器收到客戶端的登錄請求后,若驗證登錄信息正確,則向客戶端發送一個反饋一個登錄成功的消息,客戶端和服務器通過套接字建立了聯系。建立連接后雙方就可以相互通信:客戶端在自己的文本框輸入要發送的信息,點擊發送后,發送的信息就會顯示在服務器和目的客戶端的文本域中,同樣,服務器也可以在自己的文本框輸入系統信息,點擊發送信息按鈕后,發送的信息就會顯示在服務器和客戶端的文本域中。如若要發送文本文件,在客戶端界面點擊“瀏覽”,顯示一個打開對話框,在上面選擇你要發送的文本(*.txt)點擊發送,服務器再將文檔發給目的用戶,將在目的用戶的聊天記錄文本框中顯示整個文檔的內容。以上就是筆者做JQ開發的一點心得,望讀者批評指正。

參考文獻:

[1] David Flanagan . JAVA技術手冊(第4版)[M].清華大學出版社,2011.

[2] Stephanie Bodoff . he J2EE Tutorial(中文)[M].顏承,等,譯.中國鐵道出版社,2012.

[3] Marty Hall,Larry Brown . Servlet與JSP核心編程[M].趙學良,譯.清華大學出版社,2014.

主站蜘蛛池模板: 人人爱天天做夜夜爽| a天堂视频| 无码一区18禁| 国产va在线| 在线人成精品免费视频| 青青青国产免费线在| 亚洲欧美不卡中文字幕| 婷婷五月在线视频| 成年网址网站在线观看| 青青热久麻豆精品视频在线观看| 久久先锋资源| 手机在线免费毛片| 亚洲日本www| 国产超碰一区二区三区| 国产乱人激情H在线观看| 亚洲国产成人超福利久久精品| 国产无码网站在线观看| 午夜日本永久乱码免费播放片| 国产精品一区二区久久精品无码| 中文字幕丝袜一区二区| 欧美特级AAAAAA视频免费观看| 91亚洲视频下载| 美女国内精品自产拍在线播放 | av性天堂网| 国产精品女熟高潮视频| 午夜日韩久久影院| 色噜噜狠狠色综合网图区| 性做久久久久久久免费看| 国产成人高清精品免费| 日本少妇又色又爽又高潮| 久久国产精品娇妻素人| 国精品91人妻无码一区二区三区| 亚洲成人www| 亚洲AⅤ永久无码精品毛片| 伊人久久福利中文字幕| 69国产精品视频免费| 国产va在线观看免费| 美女内射视频WWW网站午夜| 国产亚洲高清在线精品99| 四虎国产永久在线观看| 亚洲丝袜第一页| 香蕉视频在线观看www| 青青草原国产av福利网站| 亚洲 成人国产| 日韩欧美国产另类| 成人免费网站久久久| 国产激情无码一区二区免费| 午夜不卡福利| 日本在线欧美在线| 久久天天躁夜夜躁狠狠| 99热最新网址| 欧美啪啪网| 国产超薄肉色丝袜网站| 在线观看亚洲成人| 人人爽人人爽人人片| 国产69囗曝护士吞精在线视频| 国产精品免费露脸视频| 欧美国产精品不卡在线观看| 99精品国产高清一区二区| 一区二区三区四区在线| 国产亚洲欧美日韩在线观看一区二区 | 无码福利日韩神码福利片| 色亚洲激情综合精品无码视频| 欧美国产日韩在线| 亚洲无码视频图片| 91美女视频在线| 人妻精品久久无码区| 国产一级小视频| 99福利视频导航| 99精品高清在线播放| 国产精欧美一区二区三区| 伊人久久久大香线蕉综合直播| 亚洲精品成人福利在线电影| 欧美一区二区三区国产精品| 亚洲精品成人福利在线电影| 国产精品第一区在线观看| 亚洲一区二区三区在线视频| 国产精品丝袜在线| 亚洲最新网址| 成人免费网站在线观看| 天天爽免费视频| 国产日本一区二区三区|