国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計網(wǎng)實驗第二章:TCP與UDP實驗

這篇具有很好參考價值的文章主要介紹了計網(wǎng)實驗第二章:TCP與UDP實驗。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

TCP

計網(wǎng)實驗第二章:TCP與UDP實驗

1.服務器綁定端口號啟動服務器歡迎socket。

2. 等待客戶端發(fā)送請求。

3.等到客戶端發(fā)送請求之后,服務器與客戶端重新建立一個socket,但是客戶端的目標端口不變。

計網(wǎng)實驗第二章:TCP與UDP實驗

java代碼如下

客戶端

客戶端代碼圖解

計網(wǎng)實驗第二章:TCP與UDP實驗

import java.io.*;
import java.net.*;
class TCPClient {
    public static void main(String argv[]) throws Exception
    {
        String sentence;
        String modifiedSentence;
        BufferedReader inFromUser = new BufferedReader(
                new InputStreamReader(System.in));
        //開一個socket
        Socket clientSocket = new Socket("localhost", 6789);
        DataOutputStream outToServer = new DataOutputStream(
                clientSocket.getOutputStream());
        BufferedReader inFromServer =
                new BufferedReader(new InputStreamReader(
                        clientSocket.getInputStream()));
        sentence = inFromUser.readLine();
        //發(fā)送請求
        outToServer.writeBytes(sentence + '\n');
        //接受響應
        modifiedSentence = inFromServer.readLine();
        System.out.println("FROM SERVER: " +
            modifiedSentence);
        //關(guān)閉客戶端
        clientSocket.close();
    }
}

服務端?

import java.io.*;
import java.net.*;
class TCPServer {

    public static void main(String argv[]) throws Exception
    {
        String clientSentence;
        String capitalizedSentence;
        //開一個socket用做于歡迎socket
        ServerSocket welcomeSocket = new ServerSocket
                (6789);
        while(true) {
            //接受客戶端的請求
            Socket connectionSocket = welcomeSocket.
                    accept();
            BufferedReader inFromClient =
                    new BufferedReader(new InputStreamReader(
                            connectionSocket.getInputStream()));
            DataOutputStream outToClient =
                    new DataOutputStream(
                            connectionSocket.getOutputStream());
            //從客戶端接受到信息
            clientSentence = inFromClient.readLine();
            //改變客戶端發(fā)送的信息
            capitalizedSentence =
                    clientSentence.toUpperCase() + '\n';
            //發(fā)回給客戶端
            outToClient.writeBytes(capitalizedSentence);
        }
    }
}

UDP?

計網(wǎng)實驗第二章:TCP與UDP實驗

1.udp的客戶端可以比udp的服務端先開啟

2.服務器綁定端口?

java代碼如下:

客戶端?

計網(wǎng)實驗第二章:TCP與UDP實驗文章來源地址http://www.zghlxwxcb.cn/news/detail-514540.html

import java.io.*;
import java.net.*;
class UDPClient {
    public static void main(String args[]) throws Exception
    {
        BufferedReader inFromUser =
                new BufferedReader(new InputStreamReader
                        (System.in));
        //為客戶端進程創(chuàng)建了一個門,但沒有在兩個進程之間創(chuàng)建管道
        DatagramSocket clientSocket = new DatagramSocket();
        //調(diào)用DNS查找
        InetAddress IPAddress =
                InetAddress.getByName("localhost");
        byte[] sendData = new byte[1024];
        byte[] receiveData = new byte[1024];
        String sentence = inFromUser.readLine();
        sendData = sentence.getBytes();
        //與TCP發(fā)送流不同,udp是打一個包發(fā)過去,這個就是udp的包
        //這一行構(gòu)造數(shù)據(jù)包sendPacket,客戶機將通過套接字將其彈出到網(wǎng)絡中。
        // 這個包包括包中包含的數(shù)據(jù)、sendData、該數(shù)據(jù)的長度、服務器的IP地址和應用程序的端口號(我們將其設(shè)置為9876)。
        DatagramPacket sendPacket =
                new DatagramPacket(sendData, sendData.length,
                        IPAddress, 9876);
        clientSocket.send(sendPacket);
        //接受服務器響應包
        DatagramPacket receivePacket =
                new DatagramPacket(receiveData,
                        receiveData.length);
        clientSocket.receive(receivePacket);
        //將回復的包中的數(shù)據(jù)拿出來
        String modifiedSentence =
                new String(receivePacket.getData());
        System.out.println("FROM SERVER:" +
            modifiedSentence);
        //關(guān)閉客戶端,釋放資源
        clientSocket.close();
    }
}

?服務器

import java.io.*;
import java.net.*;
public class UDPServer {
    public static void main(String args[]) throws Exception
    {
        DatagramSocket serverSocket = new
                DatagramSocket(9876);
        byte[] receiveData = new byte[1024];
        byte[] sendData = new byte[1024];
        while(true)
        {
            //接受客戶端發(fā)來的請求
            DatagramPacket receivePacket =
                    new DatagramPacket(receiveData,
                            receiveData.length);
            serverSocket.receive(receivePacket);
            //將客戶端的請求的信息轉(zhuǎn)為字符數(shù)組
            String sentence = new String(
                    receivePacket.getData());
            //從請求里拿到客戶端IP地址
            InetAddress IPAddress =
                    receivePacket.getAddress();
            //拿到客戶端端口
            int port = receivePacket.getPort();
            String capitalizedSentence =
                    sentence.toUpperCase();
            sendData = capitalizedSentence.getBytes();
            //將要返回的響應打包,里面需要客戶端的IP地址,客戶端端口
            DatagramPacket sendPacket =
                    new DatagramPacket(sendData,
                            sendData.length, IPAddress, port);
            //服務器發(fā)送響應包
            serverSocket.send(sendPacket);
        }
    }
}

到了這里,關(guān)于計網(wǎng)實驗第二章:TCP與UDP實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • ArduinoUNO實戰(zhàn)-第二十二章-紅外遙控實驗

    ArduinoUNO實戰(zhàn)-第二十二章-紅外遙控實驗

    Arduino基礎(chǔ)入門篇25—紅外遙控 Arduino與紅外遙控握手 在日常生活中我們會接觸到各式各樣的遙控器,電視機、空調(diào)、機頂盒等都有專用的遙控器,很多智能手機也在軟硬件上對紅外遙控做了支持,可以集中遙控絕大部分家用電器。 當按下遙控器上某個按鍵,串口輸出該按鍵的

    2024年02月16日
    瀏覽(17)
  • UNIX網(wǎng)絡編程卷一 學習筆記 第二十二章 高級UDP套接字編程

    UNIX網(wǎng)絡編程卷一 學習筆記 第二十二章 高級UDP套接字編程

    TCP是一個字節(jié)流協(xié)議,又使用滑動窗口,因此沒有記錄邊界或發(fā)送者數(shù)據(jù)發(fā)送能力超過接收者接收能力之類的事情,但對于UDP,每個輸入操作對應一個UDP數(shù)據(jù)報(一個記錄),因此當收取的數(shù)據(jù)報大于引用的輸入緩沖區(qū)時就有問題。 UDP是不可靠協(xié)議,但有些應用確實有理由使

    2024年02月12日
    瀏覽(29)
  • 第二章 OSI七層模型及TCP/IP四層模型

    第二章 OSI七層模型及TCP/IP四層模型

    第二章 OSI七層模型及TCP/IP四層模型 本章主要介紹了OSI七層分層的目的是什么以及各層次的功能,具體講述了OSI分層與TCP/IP四層模型是什么關(guān)系,以及在分組網(wǎng)絡中是如何傳輸?shù)摹?OSI七層網(wǎng)絡:分成7層是從技術(shù)角度上去細分的。分層主要有如下功能: 1、各層之間是獨立的。

    2024年01月16日
    瀏覽(15)
  • 《計算機網(wǎng)絡-自頂向下》wireShark實驗-第二章:http

    《計算機網(wǎng)絡-自頂向下》wireShark實驗-第二章:http

    我們開始探索HTTP,方法是 下載一個非常簡單的HTML文件 。非常短,并且 不包含嵌入的對象 。執(zhí)行以下操作: 啟動您的瀏覽器。 啟動Wireshark數(shù)據(jù)包嗅探器,如Wireshark實驗-入門所述(還沒開始數(shù)據(jù)包捕獲)。 在display-filter-specification窗口中輸入“http”(只是字母,不含引號標

    2024年02月19日
    瀏覽(26)
  • 【云計算與虛擬化】第二章 實驗一 VMware Workstation的使用

    【云計算與虛擬化】第二章 實驗一 VMware Workstation的使用

    實驗一?? vmware workstation的使用 安裝Windows Server 2012 R2虛擬機,并激活 (計算機命名為:學號 + 姓名拼音的首字母) 2.在 Windows Server 2012 R2 的虛擬機中安裝 VMTools 3.關(guān)機創(chuàng)建快照 (快照命名為:學號 + 姓名拼音的首字母) 4.通過啟用共享文件夾的形式讓虛擬機訪問主機的文件

    2024年02月05日
    瀏覽(13)
  • 【云計算與虛擬化】第二章 實驗二 Vmware Workstation 15的使用

    【云計算與虛擬化】第二章 實驗二 Vmware Workstation 15的使用

    實驗二?? Vmware Workstation 15的使用 在上一實驗的基礎(chǔ)上,將兩臺虛擬機調(diào)節(jié)到在橋接模式下,配置相應的網(wǎng)絡參數(shù),實現(xiàn)虛擬機1和2能相互通信,虛擬機1和2能夠ping通外網(wǎng),虛擬機1和2能ping通物理機。 (截取虛擬網(wǎng)絡編輯器中橋接的信息以及兩臺虛擬機調(diào)節(jié)到在橋接模式的

    2024年02月06日
    瀏覽(20)
  • 微機實驗第二章:循環(huán)、分支程序和常用的DOS功能調(diào)用(B站)

    微機實驗第二章:循環(huán)、分支程序和常用的DOS功能調(diào)用(B站)

    作為一名在校大學生,我將近期所學的知識進行總結(jié)。 一年之后我再看這些代碼,我發(fā)現(xiàn)這些代碼對于初學者十分友好。因此,我將這些代碼分享給大家,希望大家能有所收獲。如有不足,歡迎交流。 推薦可以看這位B站up主的視頻學習匯編 B站up主 提示:以下是本篇文章正文

    2024年02月03日
    瀏覽(17)
  • 《鳳凰架構(gòu)》第二章——訪問遠程服務

    《鳳凰架構(gòu)》第二章——訪問遠程服務

    這章挺難的,感覺離我比較遠,不太好懂,簡單記錄吧。 這章主要講訪問遠程服務,主要對比了RPC和REST的區(qū)別,可以結(jié)合知乎上的文章《既然有 HTTP 請求,為什么還要用 RPC 調(diào)用?》 這篇文章進行理解。 而對于遠程服務調(diào)用,它的內(nèi)容不單單只有REST、RPC,還有像SOAP,WebS

    2024年02月11日
    瀏覽(22)
  • 第二章 Eureka服務注冊與發(fā)現(xiàn)

    第二章 Eureka服務注冊與發(fā)現(xiàn)

    gitee:springcloud_study: springcloud:服務集群、注冊中心、配置中心(熱更新)、服務網(wǎng)關(guān)(校驗、路由、負載均衡)、分布式緩存、分布式搜索、消息隊列(異步通信)、數(shù)據(jù)庫集群、分布式日志、系統(tǒng)監(jiān)控鏈路追蹤。 1. Eureka基礎(chǔ)知識 什么是服務治理? 在傳統(tǒng)的rpc遠程調(diào)用框

    2024年02月03日
    瀏覽(19)
  • 《微服務架構(gòu)設(shè)計模式》第二章

    《微服務架構(gòu)設(shè)計模式》第二章

    軟件架構(gòu)的定義 看一下大佬是怎么說的: 計算機系統(tǒng)的軟件架構(gòu)是構(gòu)建這個系統(tǒng)所需要的一組結(jié)構(gòu),包括軟件元素、它們之間的關(guān)系以及兩者的屬性。 --Bass等著《Documenting Software Architectures:Views and Beyond》 這個定義將軟件分解為元素和元素之間的關(guān)系兩個部分,就像一輛汽車

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包