亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JAVA中使用Socket通訊的實現(xiàn)

        2012-06-27 03:30:52何詠明
        關(guān)鍵詞:網(wǎng)絡(luò)連接客戶機服務(wù)端

        何詠明

        (長江工程職業(yè)技術(shù)學院,武漢 430212)

        所謂socket通常也稱作“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。

        以J2SDK-1.6為例,Socket和ServerSocket類庫位于java.net包中。ServerSocket用于服務(wù)器端,Socket是建立網(wǎng)絡(luò)連接時使用的。在連接成功時,應(yīng)用程序兩端都會產(chǎn)生一個Socket實例,操作這個實例,完成所需的會話。對于一個網(wǎng)絡(luò)連接來說,套接字是平等的,并沒有差別,不因為在服務(wù)器端或在客戶端而產(chǎn)生不同級別。不管是Socket還是ServerSocket它們的工作都是通過SocketImpl類及其子類完成的。

        java.net.Socket繼承于java.lang.Object,有9個構(gòu)造器,其方法并不多,下面介紹使用最頻繁的3個方法,其它方法大家可以見JDK-1.6文檔。

        ·Accept方法用于產(chǎn)生“阻塞”,直到接受到一個連接,并且返回一個客戶端的Socket對象實例?!白枞笔且粋€術(shù)語,它使程序運行暫時“停留”在這個地方,直到一個會話產(chǎn)生,然后程序繼續(xù);通?!白枞笔怯裳h(huán)產(chǎn)生的。

        ·getInputStream方法獲得網(wǎng)絡(luò)連接輸入,同時返回一個IutputStream對象實例。

        ·getOutputStream方法連接的另一端將得到輸入,同時返回一個OutputStream對象實例。

        1 如何開發(fā)一個Server-Client模型的程序

        Socket通訊原理圖如圖1。

        服務(wù)器:創(chuàng)建ServerSocket于指定的端口監(jiān)聽客戶端的連接請求,有連接為服務(wù)端創(chuàng)建一個可以通訊的socket。

        客戶端:使用Socket對網(wǎng)絡(luò)上某一個服務(wù)器的某一個端口發(fā)出連接請求,一旦連接成功,就能進行socket通訊。借助于上述原理開發(fā)的簡易通訊程序如圖2。

        2 關(guān)鍵代碼

        2.1 啟動服務(wù)

        創(chuàng)建ServerSocket對應(yīng)的服務(wù)的端口號,創(chuàng)建一個線程去監(jiān)聽客戶端的連接情況,如果有客戶端的連接則把一個JFrame服務(wù)端通訊的窗口包裝成一個線程去與客戶端進行socket通訊,直到客戶端或者是服務(wù)端發(fā)出bye才結(jié)束通訊。

        圖1 Socket通訊原理圖

        圖2 簡單通訊程序

        2.2 服務(wù)端通訊

        (1)服務(wù)端通訊在構(gòu)造函數(shù)中通過傳遞的socket對象來獲取相關(guān)的輸入和輸出流,同時把窗體自身顯示出來。

        關(guān)鍵代碼:

        (2)發(fā)送消息

        服務(wù)器可以隨時向客戶機發(fā)送消息,下面的代碼是發(fā)送用的代碼,同時也監(jiān)聽客戶機的情況,當客戶機向服務(wù)器發(fā)送bye時,延遲2秒關(guān)閉自身,此時由于客戶端已經(jīng)接收到bye能夠進行自身窗口的關(guān)閉操作而先期關(guān)閉客戶端的窗口。

        關(guān)鍵代碼:

        (3)接收消息

        接收消息采用線程來完成,因為消息的到達是隨機的,我們不能讓CPU來等待一個隨機的消息的到達,此時改善性能的最好的辦法就是使用線程,讓CPU從繁重的等待中解脫出來而做重要的事情。下面是接收消息的代碼,當接收到一個bye時關(guān)閉相關(guān)的通訊并退出應(yīng)用程序。

        2.3 客戶機通訊

        客戶機采用對話框的形式創(chuàng)建窗口,通過構(gòu)造函數(shù)來偵聽指定IP地址上的端口號,同時添加窗口的關(guān)閉事件,并使自身顯示出來。

        構(gòu)造函數(shù)關(guān)鍵代碼:

        客戶機的其它通訊與服務(wù)器的代碼是一致的,在此不再重復。

        猜你喜歡
        網(wǎng)絡(luò)連接客戶機服務(wù)端
        Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
        個性化設(shè)置 Win10 的網(wǎng)絡(luò)連接信息
        電腦報(2019年5期)2019-09-10 07:22:44
        運動想象的大尺度動態(tài)功能網(wǎng)絡(luò)連接
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學改革的研究
        消費導刊(2018年8期)2018-05-25 13:19:48
        在Windows Server 2008上創(chuàng)建應(yīng)用
        中小型網(wǎng)絡(luò)組建技術(shù)
        “鴿子”玩升級 黑你沒商量
        瘦客戶機:安全與便捷的選擇
        基于Web數(shù)據(jù)提高訪問速度的方法
        蜜桃网站免费在线观看视频| 本道无码一区二区久久激情| 成年毛片18成年毛片| 在线成人影院国产av| 国产乱妇无乱码大黄aa片| 天堂网在线最新版www中文网| 亚洲精品国产综合久久一线| 国产亚洲专区一区二区| 人妻在卧室被老板疯狂进入| 精品人妻潮喷久久久又裸又黄| 国产成人综合日韩精品无| 国产极品大秀在线性色| 男女猛烈拍拍拍无挡视频| 少妇的肉体k8经典| 天堂av无码大芭蕉伊人av孕妇黑人 | 亚洲国产精品成人久久av| 麻豆人妻性色av专区0000| 日韩精品内射视频免费观看| 欧美日韩国产免费一区二区三区欧美日韩 | 性欧美老人牲交xxxxx视频| 二区在线视频| 偷拍美女一区二区三区视频| 亚洲av无码偷拍在线观看| 国产亚洲情侣一区二区无| A阿V天堂免费无码专区| 顶级高清嫩模一区二区| 99久久精品费精品国产一区二| 国产啪精品视频网站丝袜| 午夜黄色一区二区不卡| 亚洲av日韩av激情亚洲| 老司机在线精品视频网站| 无码一区二区三区在| 国产亚洲精品精品综合伦理| 把女邻居弄到潮喷的性经历| 91久久国产精品视频| 亚洲一区域二区域三区域四| 精品国产综合区久久久久久| 一个人看的www免费视频中文| 久久伊人网久久伊人网| 男女无遮挡高清性视频| 日韩成人极品在线内射3p蜜臀|