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

        ?

        基于Java平臺的TCP網絡通信及應用研究

        2020-11-25 09:22:12湯小波
        商情 2020年13期
        關鍵詞:端口號接收數據構造方法

        湯小波

        【摘要】本文講述了網絡通信的基本原理及java平臺下網絡通信技術,并用簡單明了的步驟闡述了java語言實現過程,旨在指導java平臺的網絡開發(fā)應用。

        【關鍵字】通信 ServerSocket Socket

        如今,計算機網絡已成為現代社會信息交流的重要鏈路,社會的交流離不開計算機網絡通信,如何實現其相互通信呢?基于Java的網絡通信就成為一種重要手段。

        1、網絡通信協議及原理

        1.1、網絡通信協議

        什么是網絡通信協議?實現計算機連接和通信的規(guī)則稱之為網絡通信協議。網絡通信協議有很多種,目前應用最廣泛的有TCP/IP協議和UDP協議。在TCP/IP結構中,傳輸層有兩個重要的高級協議,分別是UDP和TCP,其中UDP稱為用戶數據報協議,TCP稱為傳輸控制協議。

        1.2、TCP通信原理

        TCP協議是面向連接的通信協議,即在傳輸數據前先在發(fā)送端和接收端建立邏輯連接,然后再傳輸數據,它提供了兩臺計算機之間可靠無差錯的數據傳輸。在TCP連接中必須要明確客戶端與服務器端,由客戶端向服務器端發(fā)出連接請求,每次連接的創(chuàng)建都需要經過“三次握手”。第一次握手,客戶端向服務器端發(fā)出連接請求,等待服務器確認;第二次握手,服務器端向客戶端回送一個響應,通知客戶端收到了連接請求;第三次握手,客戶端再次向服務器端發(fā)送確認信息,確認連接。TCP連接的整個交互過程如圖1所示。

        1.3、IP地址與端口號

        要想使網絡中的計算機能夠進行通信,必須為每臺計算機指定一個標識號,通過這個標識號來指定接收數據的計算機或者發(fā)送數據的計算機。在TCP/IP協議中,這個標識號就是IP地址廠白可以唯一標識一臺計算機。

        通過IP地址可以連接到指定計算機,但如果想訪問目標計算機中的某個應用程序,還需要指定端口號。在計算機中,不同的應用程序是通過端口號區(qū)分的。接下來通過一個圖例來描述IP地址和端口號的作用,如圖2所示:

        2、TCP協議下的Java通信工具類及實現原理

        在JavaJDK網絡通信包中提供了兩個實現TCP程序的類,一個是ServerSocket類,用于表示服務器端;一個是Socket類,用于表示客戶端。在通信工具類ServerSocket中提供了多個構造方法,其中的常用構造方法為ServerSocket(int pat),使用該構造方法在創(chuàng)建ServerSocket對象時,可以將其綁定到一個指定的端口號上(參數port就是端口號)。Socket類提供了一個常用構造器Socket(Stringhost,int port),使用該構造方法在創(chuàng)建Socket對象時,會根據參數去連接在指定地址和端口上運行的服務器程序,其中參數host接收的是一個字符串類型的IP地址。此兩通信工具類在計算機網絡通信中的原理如圖3所示:

        在服務器端和客戶端建立連接之后,要想實現相互通信,首先由ServerSocket對象監(jiān)聽某臺客戶端的端口號,由該對象的accept()方法接收客戶端的請求,當執(zhí)行了accept()方法之后,服務器端程序會發(fā)生阻塞,直到客戶端發(fā)出連接請求時,accept()方法才會返回一個Socket對象用于和客戶端實現通信,程序才能繼續(xù)向下執(zhí)行。兩端相互通信,通過數據流來實現,它們分別擁有各自的輸入流Inputstream和輸出流OutStream,通過對象的getinputStream()方法和getOutputStream()來得到相互的輸入與輸出流,通過流的方法來實現流數據的發(fā)送和接收。如圖4所示:

        3、Java語言實現

        3.1、針對如圖4的服務器端,實現過程如下:

        1)創(chuàng)建SenrerSocket對象:

        ServerSocket serverSocket=new ServerSacket(8888);

        2)調用ServerSocket的accept()方法接收數據

        Socket client=server Socket.accept();

        3)獲取客戶端的輸出流

        OutputStream os=client.getOutputStream();

        4)當客戶端連接到服務端時,向客戶端輸出數據

        os.write《“XXX歡迎你!").getBytes());

        3.2、針對如圖4的客戶端,實現過程如下:

        1)創(chuàng)建一個Socket并連接到給出地址和端口號的計算機

        Socket client=new Socket(InetAddress.getLocaiHost(),8888);

        2)得到接收數據的流

        InputStream is=client.getlnputStream();

        bytes buff=new byte[1024];//定義1024個字節(jié)數組的緩沖區(qū)

        3)將數據讀到緩沖區(qū)中

        int len=is.read(buf);

        4、結語

        通過上述分析,我們研究了網絡通信原理及在Java中如何實現網絡通信的基本技術。在此基礎之上就可以編寫出我們所需要的各種網絡通信程序。

        猜你喜歡
        端口號接收數據構造方法
        DC-DC變換器分層級構造方法
        沖激噪聲背景下基于幅度預處理的測向新方法*
        電訊技術(2021年10期)2021-11-02 01:25:36
        在Docker容器中安裝應用程序
        低復雜度多輸入多輸出雷達目標角度估計方法
        淺談以java為基礎的Socket通信簡介及實現
        青春歲月(2017年5期)2017-04-20 18:34:23
        《夢溪筆談》“甲子納音”構造方法的數學分析
        幾乎最佳屏蔽二進序列偶構造方法
        單片機模擬串口數據接收程序的實現及優(yōu)化
        Winsock編程在《計算機網絡基礎》教學中的應用
        基于Android系統的互動展示APP的研究與設計
        婷婷成人丁香五月综合激情| 亚洲电影中文字幕| 国产成年无码v片在线| 四虎精品免费永久在线| 少妇一区二区三区乱码| 国产精品国产三级国产专播下| 三年中文在线观看免费大全| 久久aⅴ无码av免费一区| 国产黄片一区视频在线观看| 亚洲毛片免费观看视频| 国产在线精品一区二区三区直播| 大学生被内谢粉嫩无套| 亚洲成A人A∨久在线观看| 久久亚洲乱码中文字幕熟女| 国产精品无码久久综合网| .精品久久久麻豆国产精品| 久久国产亚洲中文字幕| 日韩一区二区三区人妻免费观看| 午夜理论片yy44880影院| 一本大道香蕉最新在线视频| 日韩人妻av不卡一区二区三区| 91自拍视频国产精品| 久久综合国产乱子伦精品免费| 亚洲两性视频一三区| 日韩人妻美乳中文字幕在线| 欧美日韩精品乱国产| 亚洲免费人成在线视频观看 | 精精国产xxx在线视频app| 日韩中文字幕在线丰满| 麻豆免费观看高清完整视频| 狠狠色狠狠色综合久久第一次| 99熟妇人妻精品一区五一看片| 国内精品少妇高潮视频| 国产精品爽黄69天堂a| 国产亚洲第一精品| 日韩极品在线观看视频| 99精品久久精品一区二区| 视频一区欧美| 中文字幕久久国产精品| 亚洲av永久无码精品一福利| 国产又色又爽无遮挡免费动态图|