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

        ?

        基于Java Socket網(wǎng)絡(luò)編程的基礎(chǔ)性應用研究

        2017-11-15 02:43:16姚曉芳舒小松
        無線互聯(lián)科技 2017年22期
        關(guān)鍵詞:基礎(chǔ)性銅仁服務器端

        姚曉芳,舒小松

        (銅仁學院 大數(shù)據(jù)學院,貴州 銅仁 554300)

        基于Java Socket網(wǎng)絡(luò)編程的基礎(chǔ)性應用研究

        姚曉芳,舒小松

        (銅仁學院 大數(shù)據(jù)學院,貴州 銅仁 554300)

        Java Socket(套接字)是Java網(wǎng)絡(luò)編程的核心內(nèi)容之一,使用Java編寫的相關(guān)應用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應答網(wǎng)絡(luò)請求.Socket是兩臺主機之間的一個連接,通過這個連接可以實現(xiàn)主機到服務器之間的數(shù)據(jù)傳遞與數(shù)據(jù)交流,具有數(shù)據(jù)傳輸時間短、效率高等特點.文章通過一個詳細的案例介紹了Socket在Java平臺中的基礎(chǔ)性應用,并進行了相關(guān)的分析.

        Java Socket;網(wǎng)絡(luò)編程;基礎(chǔ)性應用

        Java是一門面向?qū)ο缶幊痰拈_發(fā)語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有安全、跨平臺、面向?qū)ο?、簡單、適用于網(wǎng)絡(luò)等顯著特點[1].Java由JDK,JRE,JVM以及第三方JAR包組成.

        1 Java Socket簡介

        Java Socket通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄[2].網(wǎng)絡(luò)上兩個程序通過一個雙向的通信連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端為一個Socket.Socket通常用來實現(xiàn)客戶方和服務方的連接.Socket主要由一個IP地址和一個端口號來確定.在Java中Socket編程主要指基于TCP/IP協(xié)議的網(wǎng)絡(luò)編程.好比打電話需要有電話或手機,套接字就是手機.主動打的一方,就叫主叫方,對方就是被叫方.那么主叫方需要一個Socket,被叫方需要一個Server Socket.被叫方有多個號.他得選中一個號工作,這叫綁定.在套接字上,是綁定到端口.被叫方需要開機才能接聽電話,那他就得先偵聽.Server Socket的accept()就是開始偵聽,并有來電時接聽.本文通過基于Java Socket網(wǎng)絡(luò)編程的基礎(chǔ)性應用研究,編寫一個客戶端/服務器程序.

        2 Java Socket網(wǎng)絡(luò)編程的應用與研究

        2.1 前期的基本操作

        安裝好JDK以及Eclipse軟件.進入Eclipse,編寫相關(guān)Java源程序.

        2.2 創(chuàng)建客戶端類ClientSocket

        2.2.1 開啟客戶端Socket

        (1)需要創(chuàng)建一個host.

        String host1 = "127.0.0.1"

        (2)需要創(chuàng)建一個端口.

        int port1 = 9999

        (3)創(chuàng)建client對象.

        Socket client1 = new Socket(host,port)

        上述代碼中,host即是客戶端需要連接的機器,port就是服務器用來監(jiān)聽的端口.要注意選擇端口的范圍,在系統(tǒng)中,小于1 024的端口都基本上被占用了.這些端口為一些常用的服務所使用,比如電子郵件,FTP,HTTP,TELNET等.編寫服務器端的代碼時候,需要選擇大于1 023的端口.

        2.2.2 寫入數(shù)據(jù)

        從客戶端的socket對象中得到OutputStream對象,然后寫入數(shù)據(jù)后.很類似文件I/O的處理代碼.

        (1)通過字符流接收服務器端讀入的流.

        Writer writer1 = new OutputStreamwriter(client.getOutputstream())

        (2)讀入數(shù)據(jù).

        Writer.write("Hello Java From Client")

        (3)刷新、關(guān)閉.

        writer1.flush()

        writer1.close()

        client1.close()

        注意用Socket類的時候需要加入拋出異常,在讀寫數(shù)據(jù)完成后,需要對IO對象進行關(guān)閉,以保證資源的正確釋放.Writer類是一個寫入字符流的抽象類.這種累的子類必須實現(xiàn)的方法是通過write(char [],int,int)方法讀取和flush()刷新,close()方法關(guān)閉;OutputStreamWriter:是Writer的子類,將輸出的字符流變?yōu)樽止?jié)流,即:將一個字符流的輸出對象變?yōu)樽止?jié)流的輸出對象;getOutputStream方法獲得輸出流和輸入流,輸出流就是向這個Socket通道寫數(shù)據(jù),輸入流就是從里面讀數(shù)據(jù).輸入和輸出是相對于端來說的,Socket可以簡單看作端和端之間的連接,從某一端發(fā)出數(shù)據(jù)到Socket,就是out,某一端從Socket讀取數(shù)據(jù),就是in.其客戶端代碼如圖1所示.

        2.3 創(chuàng)建服務器端類ServerClient

        2.3.1 開啟服務器端Socket

        (1)需要創(chuàng)建一個端口,該端口與客戶端一致.

        int port1 = 9999

        (2)創(chuàng)建server對象

        ServerSocket server1 = new ServerSocket(port)

        (3)監(jiān)聽

        Socket socket1 = server.accept()

        上面代碼的作用是為了創(chuàng)建一個服務器端的Socket,然后調(diào)用accept方法監(jiān)聽獲取客戶端的請求Socket.這個accept是一種阻塞形式的IO和監(jiān)聽端口方法.如果有數(shù)據(jù)過來會喚醒此方法,內(nèi)部用的wait(),notity().

        圖1 客戶端代碼

        2.3.2 讀取數(shù)據(jù)

        Reader reader1 = new InputStreamReader(socket.getInputStream())

        2.3.3 輸出數(shù)據(jù)

        System.out.println("Receive from client message"+builder)

        最后仍然需要正確關(guān)閉IO對象,以確保資源的正確釋放.抽象類Reader讀取字符流的抽象類.這種類的子類必須實現(xiàn)的方法是通過read(char [],int,int)方法讀取和close()方法關(guān)閉.然而,大多數(shù)子類將覆蓋這里定義的一些方法,以便提供更高的效率、附加功能或兩者一起使用.這里用的是StringBuilder而沒有用StringBuffer,是因為Stringbuilder如果用在字符串緩沖區(qū)中,并且能夠被單個顯存使用的時候,它的速度比StringBuffer要快.其服務器端代碼如圖2所示.

        3 結(jié)語

        先在服務器端運行程序,然后在客戶端運行程序?qū)@示如圖3所示的效果,表明程序成功.如果在服務器端控制臺輸入數(shù)據(jù),將會反饋給客戶端,如圖4-5所示.

        圖2 服務器端代碼

        圖3 結(jié)論

        圖4 服務器端輸入數(shù)據(jù)

        圖5 客戶端顯示數(shù)據(jù)

        通過Java Socket網(wǎng)絡(luò)編程的基礎(chǔ)性應用與研究,使我們對Java Socket網(wǎng)絡(luò)編程有了新的認識,為今后Java Socket網(wǎng)絡(luò)編程的學習打下堅實的基礎(chǔ).

        [1]李芝新,楊瑞龍.Java程序設(shè)計之網(wǎng)絡(luò)編程[M].北京:清華大學出版社,2009.

        [2]馬曉敏,肖明,姜遠明,等.Java網(wǎng)絡(luò)編程原理與JSP Web開發(fā)核心技術(shù)[M].北京:中國鐵道出版社,2010.

        Study on the basic application of network programming based on Java Socket

        Yao Xiaofang, Shu Xiaosong
        (Large Data College of Tongren University, Tongren 554300, China)

        Java Socket is one of the core elements of Java network programming. Relevant applications program written by Java usually send requests to the network or answer network requests through "Sockets". Socket is a connection between two hosts. Through this connection,data transfer and data exchange between host and server can be realized. It has the characteristics of short data transmission time and high efficiency. This paper introduces the basic application of Socket in Java platform through a detailed case, and carries on the related analysis.

        Java Socket; network programming; basic application

        姚曉芳(1979- ),女,貴州銅仁人,講師,學士;研究方向:微機原理與接口技術(shù),單片機,數(shù)據(jù)庫等.

        猜你喜歡
        基礎(chǔ)性銅仁服務器端
        呂梁財政四項舉措支持基礎(chǔ)性養(yǎng)老服務發(fā)展
        山西財稅(2021年4期)2021-07-15 08:40:52
        尋味貴州——銅仁
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        天地大美——銅仁梵凈山
        看雪——銅仁梵凈山
        輪楊樹達義近旁任作
        在Windows中安裝OpenVPN
        中國移動4G基礎(chǔ)性網(wǎng)絡(luò)部署策略研究
        移動通信(2015年18期)2015-08-24 07:44:56
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        對外漢字教學的若干基礎(chǔ)性問題
        国产精品一区二区久久| 在线一区二区三区国产精品| 免费视频成人片在线观看| 国产精品福利自产拍久久 | 97色综合| 口爆吞精美臀国产在线| 国产欧美日韩中文久久| 骚小妹影院| 亚洲成a人片在线播放观看国产| av大片网站在线观看| 亚洲午夜无码毛片av久久| 国产精品自在线拍国产| 精品国产免费久久久久久| 一区二区三区黄色一级片| 东北女人啪啪对白| 久久99精品国产麻豆| 亚洲精品中文字幕不卡在线| 香蕉蜜桃av一区二区三区| 亚洲国产精品久久艾草| 无套内谢的新婚少妇国语播放| 欧美日韩国产在线成人网| 人妻少妇偷人精品一区二区三区| 亚洲国产一二三精品无码| 国产精品天天狠天天看| 欧美亚洲日韩国产人成在线播放| 亚洲熟妇av一区二区在线观看| 精品久久久久香蕉网| 国产精品毛片无遮挡高清 | 日韩女优视频网站一区二区三区| 无码人妻精品一区二区三| 青青草国产成人99久久| 在线免费观看视频播放| 大陆老熟女自拍自偷露脸| 99久久人妻精品免费二区| 亚洲最大无码AV网站观看| 男女搞基视频免费网站| 欧美综合天天夜夜久久| 亚洲精品国产综合一线久久| 精品国产一区二区三区毛片| 日本精品一区二区三区二人码| 8ⅹ8x擦拨擦拨成人免费视频 |