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

Java網(wǎng)絡(luò)編程(UDP、TCP)

這篇具有很好參考價(jià)值的文章主要介紹了Java網(wǎng)絡(luò)編程(UDP、TCP)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

什么是網(wǎng)絡(luò)編程?

在網(wǎng)絡(luò)通信協(xié)議下,不同計(jì)算機(jī)上運(yùn)行的程序,進(jìn)行的數(shù)據(jù)傳輸。

  • 應(yīng)用場(chǎng)景:即時(shí)通信、網(wǎng)游對(duì)戰(zhàn)、金融證券、國(guó)際貿(mào)易、郵件、等等。

不管是什么場(chǎng)景,都是計(jì)算機(jī)跟計(jì)算機(jī)之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。

  • Java中可以使用java.net包下的技術(shù)輕松開發(fā)出常見的網(wǎng)絡(luò)應(yīng)用程序。

    總結(jié)

  1. 什么網(wǎng)絡(luò)編程?

    計(jì)算機(jī)跟計(jì)算機(jī)之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。

  2. 常見軟件架構(gòu)有哪些?

    CS/BS

  3. 通信的軟件架構(gòu)CS1BS的各有什么區(qū)別和優(yōu)缺點(diǎn)

    CS:客戶端服務(wù)端模式需要開發(fā)客戶端
    BS:瀏覽器服務(wù)端模式不需要開發(fā)客戶端。
    CS:適合定制專業(yè)化的辦公類軟件如:IDEA、網(wǎng)游
    BS:適合移動(dòng)互聯(lián)網(wǎng)應(yīng)用,可以在任何地方隨時(shí)訪問的系統(tǒng)。

網(wǎng)絡(luò)編程三要素

  • IP

    設(shè)備在網(wǎng)絡(luò)中的地址,是唯一的標(biāo)識(shí)。

  • 端口號(hào)

    應(yīng)用程序在設(shè)備中唯一的標(biāo)識(shí)。

  • 協(xié)議

    數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)囊?guī)則,常見的協(xié)議有UDP、TCP、http、https、ftp。

總結(jié)

  1. 網(wǎng)絡(luò)編程三要素分別是什么?

    IP、端口號(hào)、協(xié)議

  2. 網(wǎng)絡(luò)編程三要素分別表示什么?

    IP:設(shè)備在網(wǎng)絡(luò)中的地址,是唯一的標(biāo)識(shí)

    端口號(hào):應(yīng)用程序在設(shè)備中唯一的標(biāo)識(shí)。

    協(xié)議:數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)囊?guī)則

    ? 常見的協(xié)議有UDP、TCP、http、https、ftp

IP

全稱:Internet Protocol,是互聯(lián)網(wǎng)協(xié)議地址,也稱IP地址。

是分配給上網(wǎng)設(shè)備的數(shù)字標(biāo)簽。

通俗理解 上網(wǎng)設(shè)備在網(wǎng)絡(luò)中的地址,是唯一的

常見的IP分類為IPV4、IPV6

IPv4

全稱:Internet Protocol version4,互聯(lián)網(wǎng)通信協(xié)議第四版。
采用32位地址長(zhǎng)度,分成4組

IPv6

全稱:Internet Protocol version6,互聯(lián)網(wǎng)通信協(xié)議第六版。
由于互聯(lián)網(wǎng)的蓬勃發(fā)展,IP地址的需求量愈來愈大,而引PV4的模式下IP的總數(shù)是有限的。
采用128位地址長(zhǎng)度,分成8組。 2^128

IPV4的地址分類形式

  • 公網(wǎng)地址(萬維網(wǎng)使用)和私有地址(局域網(wǎng)使用)。
  • 192.168.開頭的就是私有址址,范圍即為192.168.0.0–192.168.255.255,專門為組織機(jī)構(gòu)內(nèi)部使用,以此節(jié)省1P

特殊IP地址

? 127.0.0.1,也可以是localhost:是回送地址也稱本地回環(huán)地址,也稱本機(jī)IP,永遠(yuǎn)只會(huì)尋找當(dāng)前所在本機(jī)。

InetAddress類

端口號(hào)

? 應(yīng)用程序在設(shè)備中唯一的標(biāo)識(shí)。
? 端口號(hào):由兩個(gè)字節(jié)表示的整數(shù),取值范圍:0~65535
? 其中0~1023之間的端口號(hào)用于一些知名的網(wǎng)絡(luò)服務(wù)或者應(yīng)用。
? 我們自己使用1024以上的端口號(hào)就可以了。
注意:一個(gè)端口號(hào)只能被一個(gè)應(yīng)用程序使用。

協(xié)議

計(jì)算機(jī)網(wǎng)絡(luò)中,連接和通信的規(guī)則被稱為網(wǎng)絡(luò)通信協(xié)議

  • OS引參考模型:世界互聯(lián)協(xié)議標(biāo)準(zhǔn),全球通信規(guī)范,單模型過于理想化,未能在因特網(wǎng)上進(jìn)行廣泛推廣
  • TCP/IP參考模型(或TCP/IP協(xié)議):事實(shí)上的國(guó)際標(biāo)準(zhǔn)。
OSI參考模型 TCP/IP 參考模型 TCP/IP 參考模型各層對(duì)應(yīng)協(xié)議 面向哪些
應(yīng)用層 應(yīng)用層 HTTP\FTP\Telnet\DNS
表示層 應(yīng)用層 HTTP\FTP\Telnet\DNS
會(huì)話層 應(yīng)用層 HTTP\FTP\Telnet\DNS
傳輸層 傳輸層 TCP\UDP… 選擇傳輸使用的TCP,UDP協(xié)議
網(wǎng)絡(luò)層 網(wǎng)絡(luò)層 IP\ICMP\ARP 封裝IP
數(shù)據(jù)鏈路層 物理+數(shù)據(jù)鏈路層 硬件設(shè)備 010101010101… 轉(zhuǎn)換成二進(jìn)制利用物理設(shè)備傳輸
物理層 物理+數(shù)據(jù)鏈路層 硬件設(shè)備 010101010101… 轉(zhuǎn)換成二進(jìn)制利用物理設(shè)備傳輸

UDP協(xié)議

用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol)
UDP是面向無連接通信協(xié)議。
速度快,有大小限制一次最多發(fā)送64K,數(shù)據(jù)不安全,易丟失數(shù)據(jù)

TCP協(xié)議

傳輸控制協(xié)議TCP(Transmission Control Protocol)
TCP協(xié)議是面向連接的通信協(xié)議。
速度慢,沒有大小限制,數(shù)據(jù)安全。

JDP通信程序

UDP通信程序(發(fā)送數(shù)據(jù))

  1. 找快遞公司 創(chuàng)建發(fā)送端的DatagramSocket對(duì)象
  2. 打包禮物 數(shù)據(jù)打包(DatagramPacket)
  3. 快遞公司發(fā)送包裹 發(fā)送數(shù)據(jù)
  4. 付錢走人 釋放資源
public class SendMessageDemo {
    //發(fā)送數(shù)據(jù)通過Socket發(fā)送
    public static void main(String[] args) throws IOException {
        // 1. 創(chuàng)建Socket
        DatagramSocket datagramSocket = new DatagramSocket();
        byte buf[] = "Hello Word".getBytes(StandardCharsets.UTF_8);
        int offset = buf.length;
        InetAddress address = InetAddress.getByName("127.0.0.1");
        int port = 10086;
        	// 打包數(shù)據(jù),此處需要明確address, port這樣創(chuàng)建的DatagramPacket才可以被發(fā)送
        	// 否則會(huì)提示 null address || null buffer
        	// 該構(gòu)造函數(shù)有英文 Constructs a datagram packet for sending packets 
        DatagramPacket p = new DatagramPacket(buf, offset, address, port);
		// 發(fā)送打包的內(nèi)容并關(guān)閉Socket
        datagramSocket.send(p);
        datagramSocket.close();
    }
}

UDP通信程序(接收數(shù)據(jù))

  1. 找快遞公司 創(chuàng)建接收端的DatagramSocketi對(duì)象
  2. 接收箱子 接收打包好的數(shù)據(jù)
  3. 從箱子里面獲取禮物 解析數(shù)據(jù)包
  4. 簽收走人 釋放資源
public class ReceiveMessageDemo {
    public static void main(String[] args) throws IOException {
        DatagramSocket datagramSocket = new DatagramSocket(PORT);
        byte[] buf = new byte[1024];
        DatagramPacket p = new DatagramPacket(buf, buf.length);
        // 該方法是阻塞的
        datagramSocket.receive(p);
        System.out.println(new String(p.getData(), 0, p.getLength()));
        datagramSocket.close();
    }
}

發(fā)送與接收都使用到了DatagramSocket、DatagramPacket,DatagramPacket不指定端口號(hào)則代表為接收方,

DatagramSocket 的receive方法也代表了此文接收方。

UDP的三種通信方式

  • 單播

    以前的代碼就是單播

  • 組播

    組播地址:

224.0.0.0 ~ 239 - 255.255.255

(其中 224.0.0.0 ~ 224.0.0.255 為預(yù)留的組播地址)

  • 廣播

    廣播地址:255.255.255.255

TCP通信程序

TCP通信協(xié)議是一種可靠的網(wǎng)絡(luò)協(xié)議,它在通信的兩端各建立一個(gè)Socket對(duì)象
通信之前要保證連接已經(jīng)建立
通過Socket產(chǎn)生IO流來進(jìn)行網(wǎng)絡(luò)通信

綜合練習(xí)

聊天室多發(fā)練習(xí)

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.UnknownHostException;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

public class ChatRoom {
    public static void main(String[] args) throws IOException {
        System.out.println("Please enter your username:");
        Scanner scanner = new Scanner(System.in);
        String username = scanner.nextLine();
        User user = new User(username);
        user.start();
    }
}

class User {
    private InetAddress group;
    private int port;
    private String username;

    public User(String username) throws UnknownHostException {
        this.group = InetAddress.getByName("224.0.0.1");
        this.port = 8888;
        this.username = username;
    }

    public void start() throws IOException {
        MulticastSocket multicastSocket = new MulticastSocket(this.port);
        multicastSocket.joinGroup(this.group);

        new Thread(new RunnableTask(multicastSocket, this.username)).start();

        System.out.println("Begin Chat...");
        Scanner scanner = new Scanner(System.in);
        while (true) {
            String messages = scanner.nextLine();
            messages = this.username + ":" + messages;
            byte[] buf = messages.getBytes(StandardCharsets.UTF_8);

            DatagramPacket packet = new DatagramPacket(buf, buf.length, group, this.port);
            multicastSocket.send(packet);
        }
    }
}

class RunnableTask implements Runnable {
    private MulticastSocket multicastSocket;
    private String username;

    public RunnableTask(MulticastSocket multicastSocket, String username) {
        this.multicastSocket = multicastSocket;
        this.username = username;
    }

    @Override
    public void run() {
        byte[] bytes = new byte[1024];
        while (true) {
            try {
                DatagramPacket packet = new DatagramPacket(bytes, 0, bytes.length);
                multicastSocket.receive(packet);

                String userNameAndMessage = new String(packet.getData(), 0, packet.getLength());
                if (userNameAndMessage.contains(this.username)) {
                    continue;
                }
                System.out.println(userNameAndMessage);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

TCP 文件傳輸練習(xí)

注意點(diǎn):客戶端/服務(wù)端 發(fā)送完數(shù)據(jù)需要通過socket關(guān)閉OutPut,為了增加讀寫效率使用了Buffered流

客戶端

import java.io.*;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("127.0.0.1", 10000);

        File file = new File("D:\\Program Files\\IdeaProjects\\mysocketnet\\clientdir\\1.png");
        FileInputStream fileInputStream = new FileInputStream(file);
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        OutputStream outputStream = socket.getOutputStream();
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
        // 數(shù)據(jù)緩沖區(qū)
        byte[] bytes = new byte[1024];
        int len;
        while ((len = bufferedInputStream.read(bytes)) != -1) {
            // 緩沖區(qū)最后一次的長(zhǎng)度可能不是1024,需要通過InputStream.read 確定
            bufferedOutputStream.write(bytes, 0, len);
        }

        socket.shutdownOutput();

        InputStream inputStream = socket.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        System.out.println(bufferedReader.readLine());

        socket.close();
    }
}

服務(wù)端


import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Server {

    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(10000);
        ExecutorService executorService = Executors.newCachedThreadPool();
        while (true) {
            Socket socket = serverSocket.accept();
            executorService.submit(new MyRunnable(socket));
        }
//        serverSocket.close();
    }


}

自定義任務(wù)文章來源地址http://www.zghlxwxcb.cn/news/detail-447584.html


import java.io.*;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.UUID;

public class MyRunnable implements Runnable {
    Socket socket;

    public MyRunnable(Socket socket) {
        this.socket = socket;
    }

    @Override
    public void run() {
        InputStream inputStream = null;
        try {
            inputStream = this.socket.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
        String replace = UUID.randomUUID().toString().replace("-", "");
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream("D:\\Program Files\\IdeaProjects\\mysocketnet\\serverdir\\" + replace + ".png");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        byte[] bytes = new byte[1024];
        int read = 0;
        // inputStream.read 會(huì)一致讀取,直到socket發(fā)送了shutdownOutput
        while (true) {
            try {
                if ((read = inputStream.read(bytes)) != -1) {
                    break;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fileOutputStream.write(bytes, 0, read);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        OutputStream outputStream = null;
        try {
            outputStream = socket.getOutputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
        String message = "數(shù)據(jù)接受完畢";
        try {
            outputStream.write(message.getBytes(StandardCharsets.UTF_8));
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            socket.shutdownOutput();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

到了這里,關(guān)于Java網(wǎng)絡(luò)編程(UDP、TCP)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java網(wǎng)絡(luò)編程 - TCP通信

    Java網(wǎng)絡(luò)編程 - TCP通信

    快速入門(一發(fā)一收) TCP協(xié)議回顧 : TCP是一種面向連接,安全、可靠的傳輸數(shù)據(jù)的協(xié)議 傳輸前,采用“三次握手”方式,點(diǎn)對(duì)點(diǎn)通信,是可靠的 在連接中可進(jìn)行大數(shù)據(jù)量的傳輸 TCP通信模式 : 在java中只要是使用java.net.Socket類實(shí)現(xiàn)通信,底層即是使用了TCP協(xié)議 編寫客戶端代碼

    2024年01月19日
    瀏覽(27)
  • 【Java網(wǎng)絡(luò)編程】基于UDP-Socket 實(shí)現(xiàn)客戶端、服務(wù)器通信

    【Java網(wǎng)絡(luò)編程】基于UDP-Socket 實(shí)現(xiàn)客戶端、服務(wù)器通信

    ? 哈嘍,大家好~我是你們的老朋友: 保護(hù)小周??? 本期為大家?guī)淼氖蔷W(wǎng)絡(luò)編程的 UDP Socket 套接字,基于 UDP協(xié)議的 Socket 實(shí)現(xiàn)客戶端服務(wù)器通信 ,Socket 套接字可以理解為是,傳輸層給應(yīng)用層提供的一組 API,如此程序,確定不來看看嘛~~ 本期收錄于博主的專欄 : JavaEE_保

    2024年02月02日
    瀏覽(111)
  • Java網(wǎng)絡(luò)編程(UDP、TCP)

    在網(wǎng)絡(luò)通信協(xié)議下,不同計(jì)算機(jī)上運(yùn)行的程序,進(jìn)行的數(shù)據(jù)傳輸。 應(yīng)用場(chǎng)景:即時(shí)通信、網(wǎng)游對(duì)戰(zhàn)、金融證券、國(guó)際貿(mào)易、郵件、等等。 不管是什么場(chǎng)景,都是計(jì)算機(jī)跟計(jì)算機(jī)之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。 Java中可以使用java.net包下的技術(shù)輕松開發(fā)出常見的網(wǎng)絡(luò)應(yīng)用程序。

    2024年02月05日
    瀏覽(39)
  • 【Java學(xué)習(xí)筆記】 68 - 網(wǎng)絡(luò)——TCP編程、UDP編程

    【Java學(xué)習(xí)筆記】 68 - 網(wǎng)絡(luò)——TCP編程、UDP編程

    https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter21/src 目錄 項(xiàng)目代碼 網(wǎng)絡(luò) 一、網(wǎng)絡(luò)相關(guān)概念 1.網(wǎng)絡(luò)通訊 2.網(wǎng)絡(luò) 3.IP地址 4.域名 5.端口號(hào) 6.網(wǎng)絡(luò)通訊協(xié)議 TCP協(xié)議:傳輸控制協(xié)議 UDP協(xié)議: 二、InetAddress類 1.相關(guān)方法 三、Socket 1.基本介紹 2.TCP網(wǎng)絡(luò)通信編程 基本介紹 應(yīng)用案例

    2024年02月04日
    瀏覽(26)
  • Java網(wǎng)絡(luò)編程 *TCP與UDP協(xié)議*

    Java網(wǎng)絡(luò)編程 *TCP與UDP協(xié)議*

    把分布在 不同地理區(qū)域 的具有獨(dú)立功能的計(jì)算機(jī), 通過通信設(shè)備與線路 連接起來,由功能完善的軟件實(shí)現(xiàn)資源共享和信息傳遞的 系統(tǒng) 簡(jiǎn)單來說就是把不同地區(qū)的計(jì)算機(jī)通過設(shè)備連接起來,實(shí)現(xiàn)不同地區(qū)之前的數(shù)據(jù)傳輸 網(wǎng)絡(luò)編程 是借助計(jì)算機(jī)網(wǎng)絡(luò),實(shí)現(xiàn)我們所寫的程序,在不同

    2024年01月16日
    瀏覽(31)
  • Linux網(wǎng)絡(luò)編程(四)——UDP通信

    Linux網(wǎng)絡(luò)編程(四)——UDP通信

    目錄 0x01 UDP協(xié)議 一、UDP通信簡(jiǎn)介以及接口 二、UDP的接口 三、UDP收發(fā)例程 0x02 廣播 一、設(shè)置廣播數(shù)據(jù)函數(shù)接口 二、廣播代碼實(shí)現(xiàn) 0x03 組播(多播) 一、組播地址 二、設(shè)置組播函數(shù)接口 三、代碼實(shí)現(xiàn) UDP是一個(gè)面向無連接的,不可靠的服務(wù),功能即為在IP的數(shù)據(jù)報(bào)服務(wù)之上增

    2024年02月12日
    瀏覽(21)
  • 【QT網(wǎng)絡(luò)編程】實(shí)現(xiàn)UDP協(xié)議通信

    【QT網(wǎng)絡(luò)編程】實(shí)現(xiàn)UDP協(xié)議通信

    Internet 協(xié)議集支持一個(gè)無連接的傳輸協(xié)議,該協(xié)議稱為用戶數(shù)據(jù)報(bào)協(xié)議(UDP,User Datagram Protocol)。UDP 為應(yīng)用程序提供了 一種無需建立連接就可以發(fā)送封裝的 IP 數(shù)據(jù)包的方法 。RFC 768 描述了 UDP。 UDP協(xié)議根據(jù)消息傳送模式可以分為: 單播(Unicast)、組播(Multicast)和廣播(

    2024年02月02日
    瀏覽(26)
  • Java【網(wǎng)絡(luò)編程2】使用 TCP 的 Socket API 實(shí)現(xiàn)客戶端服務(wù)器通信(保姆級(jí)教學(xué), 附代碼)

    Java【網(wǎng)絡(luò)編程2】使用 TCP 的 Socket API 實(shí)現(xiàn)客戶端服務(wù)器通信(保姆級(jí)教學(xué), 附代碼)

    ??各位讀者好, 我是小陳, 這是我的個(gè)人主頁 ??小陳還在持續(xù)努力學(xué)習(xí)編程, 努力通過博客輸出所學(xué)知識(shí) ??如果本篇對(duì)你有幫助, 煩請(qǐng)點(diǎn)贊關(guān)注支持一波, 感激不盡 ?? 希望我的專欄能夠幫助到你: JavaSE基礎(chǔ): 基礎(chǔ)語法, 類和對(duì)象, 封裝繼承多態(tài), 接口, 綜合小練習(xí)圖書管理系統(tǒng)

    2024年02月05日
    瀏覽(33)
  • Java中的網(wǎng)絡(luò)編程------基于Socket的TCP編程和基于UDP的網(wǎng)絡(luò)編程,netstat指令

    Java中的網(wǎng)絡(luò)編程------基于Socket的TCP編程和基于UDP的網(wǎng)絡(luò)編程,netstat指令

    Socket 在Java中,Socket是一種用于網(wǎng)絡(luò)通信的編程接口, 它允許不同計(jì)算機(jī)之間的程序進(jìn)行數(shù)據(jù)交換和通信 。Socket使得網(wǎng)絡(luò)應(yīng)用程序能夠通過TCP或UDP協(xié)議在不同主機(jī)之間建立連接、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。以下是Socket的基本介紹: Socket類型 :在Java中,有兩種主要類型的Socket,分

    2024年02月10日
    瀏覽(25)
  • Java網(wǎng)絡(luò)編程基礎(chǔ):TCP Socket套接字編程 IntAddress UDP等...

    Java網(wǎng)絡(luò)編程基礎(chǔ):TCP Socket套接字編程 IntAddress UDP等...

    目錄 一,網(wǎng)絡(luò)基礎(chǔ) 1.IP地址 2.端口 3.TCP/UDP協(xié)議 4.網(wǎng)絡(luò)編程開發(fā)模式 ?二,基于套接字的Java網(wǎng)絡(luò)編程 1.Socket ?2.InetAddress 三.基于TCP的Socket網(wǎng)絡(luò)編程 1.單服務(wù)器端與單Socket客戶端一次通訊 2.單服務(wù)器端接收多次通訊 ?3.TCP網(wǎng)絡(luò)通訊補(bǔ)充 四,基于UDP的網(wǎng)絡(luò)編程 1. DatagramSocket:收發(fā)

    2024年04月29日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包