亚洲免费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ù)提高訪問速度的方法
        国产一区二区白浆在线观看| 无码人妻品一区二区三区精99 | 人人妻人人澡人人爽人人精品浪潮| 日韩人妻无码精品久久免费一 | 国产免费av片无码永久免费| 亚洲精品不卡电影| 亚洲av第一区综合激情久久久 | 蜜桃18禁成人午夜免费网站| 国产精品一区二区久久乐下载 | 粉嫩少妇内射浓精videos| 国产360激情盗摄一区在线观看| 亚洲一区二区精品在线| 久久人人爽爽爽人久久久| 欧美情侣性视频| 亚洲一区二区成人在线视频| 亚洲最大一区二区在线观看| 亚洲av片在线观看| 精品手机在线视频| 中文字幕这里都是精品| 亚洲高清在线天堂精品| 少妇饥渴偷公乱a级无码| 99精品热6080yy久久| 国产视频一区二区三区免费| 国产无套中出学生姝| 午夜不卡av免费| 亚洲成a人片在线观看中文!!!| 日本一区二区不卡二区| 免费观看羞羞视频网站| 亚洲精品第一页国产精品| 91久久精品一区二区喷水喷白浆| 国产精品自线一区二区三区| 老熟妇仑乱视频一区二区| 午夜精品一区二区三区无码不卡| 亚洲精品一区二区三区麻豆| 99无码精品二区在线视频 | 在线观看视频播放| 国产精品片211在线观看| 久久网站在线免费观看| 97se色综合一区二区二区| 亚洲精品久久久久久动漫 | 中文字幕福利视频|