【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议

这篇具有很好参考价值的文章主要介绍了【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

🎄什么是网络编程

在网络通信协议下,不同计算机上运行的程序,进行的数据传输

简而言之,就是可以把自己电脑上的资料通过代码传到其他人的电脑上

🌺常见的软件架构

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

⭐BS架构的优缺点

(对画质要求不高时使用)

  1. 不需要开发客户端,只需要页面+服务端
  2. 用户不需要下载,打开浏览器就能用
  3. 如果应用过大,用户体验会受到影响

⭐CS架构的优缺点

(对画质要求高时使用)

  1. 画面可以做的非常精美,用户体验好
  2. 需要开发客户端,也需要开发服务端
  3. 用户需要下载和更新的时候太麻烦

🍔网络编程三要素

  1. 确定对方在互联网的地址(IP
  2. 确定接收数据的软件(端口号
  3. 确定网络传输的规则(协议

🛸InetAddress类的使用

⭐确定主机名称的IP地址

主机名可以是机器名称,也可以是IP地址

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Demo {
    public static void main(String[] args) throws UnknownHostException {
        InetAddress address=InetAddress.getByName("192.168.125.2");
        System.out.println(address);
    }
}

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

✨查看主机名

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

⭐获取此IP地址的主机名

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Demo {
    public static void main(String[] args) throws UnknownHostException {
        InetAddress address=InetAddress.getByName("千寻");

        String name=address.getHostName();
        System.out.println(name);
    }
}

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

⭐返回文本显示中的IP地址字符串

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Demo {
    public static void main(String[] args) throws UnknownHostException {
        InetAddress address=InetAddress.getByName("千寻");

        String ip=address.getHostAddress();
        System.out.println(ip);
    }
}

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

⭐IP

Internet Protocol ,是互联网协议地址,也称IP地址

设备(不一定是电脑)在网络中的地址,是唯一的标识

🎈IPv4

Internet Protocol version 4,互联网通信协议第四版
采用32为地址长度,分为4组
【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

但是逐渐发现IPv4分配的地址不够用了,就出现了IPv6

🎈IPv6

Internet Protocol version6,互联网通信协议第六版
采用128为地址长度,分为8组
IPv6可以为地球上的每一粒沙子都设定IP
【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

🎈特殊的IP

127.0.0.1(永远表示本机)

⭐端口号

应用程序在设备中的唯一标识
【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

⭐协议

数据在网络中传输的规则,常见的协议有UDP,TCP,http,https,ftp
【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

🏳️‍🌈UDP发送数据

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

import java.io.IOException;
import java.net.*;

public class SendMessageDemo {
    public static void main(String[] args) throws IOException {
        DatagramSocket ds=new DatagramSocket();

        //打包数据
        String str="你好呀";
        byte[] bytes=str.getBytes();
        InetAddress address=InetAddress.getByName("127.0.0.1");
        int port=10086;

        DatagramPacket dp=new DatagramPacket(bytes,bytes.length,address,port);

        //发送数据
        ds.send(dp);

        //释放资源
        ds.close();
    }
}

🏳️‍🌈UDP接收数据

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class ReceiveMessageDemo {
    public static void main(String[] args) throws IOException {
        //绑定的这个端口一定要和发送时的端口保持一致
        DatagramSocket ds=new DatagramSocket(10086);

        //接收数据包
        byte[] bytes=new byte[1024];
            //接收数据
        DatagramPacket dp=new DatagramPacket(bytes,bytes.length);
        ds.receive(dp);

        //解析数据包
        byte[] data=dp.getData();
            //获得多少字节的数据
        int len=dp.getLength();
            //是从哪一台电脑发过来的
        InetAddress address=dp.getAddress();
            //从哪个端口发过来的
        int port=dp.getPort();

        System.out.println("接收到数据"+new String(data,0,len));//把字节数组变为字符串
        System.out.println("该数据是从"+address+"这台电脑中的"+port+"这个端口发出的");

        //释放资源
        ds.close();
    }
}

⭐运行代码

先运行接收端,再运行发送端

【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议
网络编程作为计算机科学领域中的重要分支,扮演着连接世界的桥梁和纽带的角色。通过网络编程,我们可以在不同的计算机之间进行数据传输和通信,实现信息的共享与交流。无论是互联网的发展、智能设备的互联、大数据的处理,还是人工智能的应用,都少不了网络编程的支持。随着技术的不断进步和应用场景的不断扩展,网络编程将呈现出更加广阔的前景。未来,我们可以期待更高效、更安全、更可靠的网络通信协议的出现,以满足日益增长的数据传输需求。同时,随着物联网、云计算、区块链等新兴技术的不断发展,网络编程也将与之紧密结合,创造出更多的可能性。然而,网络编程也面临着一些挑战和问题。网络安全性、数据隐私保护、网络拥堵等都是当前需要关注和解决的难题。我们需要积极应对这些挑战,加强网络安全意识和技术研究,保障网络环境的稳定和可靠。综上所述,网络编程在当今信息时代扮演着重要的角色,它将继续推动着科技的发展和人类社会的进步。我们应该不断学习和探索网络编程的知识,不断创新和提升自己的技能,为构建更加智能、高效、安全的网络世界贡献自己的力量。让我们携手并肩,共同开创网络编程的辉煌未来!【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议,Java基础,网络,udp,网络协议文章来源地址https://www.toymoban.com/news/detail-714208.html

到了这里,关于【从入门到起飞】JavaSE—网络编程三要素,软件架构,UDP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络编程入门

    软件结构 cs架构 (客户端服务器架构) bs架构 (浏览器服务器架构) 网络通信协议:在同一个网络中进行通信的计算机需要遵守的规范 TCP/IP 传输控制协议/因特网互联协议,是因特网最基本、最广泛的协议,它定义了计算机如何连接互联网,以及数据如何在他们之间传输的标

    2024年02月14日
    浏览(22)
  • 【100天精通Python】Day46:Python网络编程_网络编程基础与入门

    目录 专栏导读  1 网络编程的基础 2. 基本概念和协议 2.1 计算机网络基础

    2024年02月08日
    浏览(38)
  • 计算机网络技术与JAVA网络编程URL编程-----JAVA入门基础教程-----计算机网络经典

    import org.junit.jupiter.api.Test; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class URLTest { public static void main(String[] args) { //URL:统一资源定位符(种子),一个URL就定位着互联网上某个资源的地址 //http:应用层协议,IP地址,端口号,资源地址,参数

    2024年02月15日
    浏览(35)
  • 计算机网络技术与JAVA网络编程UDP编程-----JAVA入门基础教程-----计算机网络经典

    import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.*; public class UDP { public static void main(String[] args) { DatagramSocket datagramSocket = null; try { datagramSocket = new DatagramSocket(); InetAddress inetAddress = InetAddress.getByName(\\\"127.0.0.1\\\"); int port = 9090; byte[] byte

    2024年02月15日
    浏览(37)
  • ​网络socket编程(二)——面向流的TCP编程及测试(SocketTool)、Wireshark软件使用

    目录 一、书接上回(select()函数使用注意事项) 二、面向流(TCP)的socket编程 2.1 TCP服务端编程和测试 2.1.1 TCP服务器原理流程图 2.1.2 TCP服务端编程实战 2.1.3 测试 2.2 TCP客户端编程和测试 三、Wireshark抓包软件的使用 3.1 Wireshark是什么 3.2 Wireshark抓包界面 3.3 Wireshark过滤器设置 3.3

    2024年04月17日
    浏览(28)
  • 快速入门java网络编程基础------Nio

    哔哩哔哩黑马程序员 netty实战视频 NIO(New I/O)是Java中提供的一种基于通道和缓冲区的I/O(Input/Output)模型。它是相对于传统的IO(InputStream和OutputStream)模型而言的新型I/O模型。NIO的主要特点包括: 1.通道与缓冲区: 2.NIO引入了通道(Channel)和缓冲区(Buffer)的概念。通道

    2024年01月20日
    浏览(37)
  • 【嵌入式Qt开发入门】Qt如何网络编程——获取本机的网络信息

            Qt 网络模块为我们提供了编写TCP/IP客户端和服务器的类。它提供了较低级别的类,例如代表低级网络概念的 QTcpSocket,QTcpServer 和 QUdpSocket,以及诸如 QNetworkRequest, QNetworkReply 和 QNetworkAccessManager 之类的高级类来执行使用通用协议的网络操作。它 还提供了诸如QNet

    2024年02月16日
    浏览(41)
  • 【零基础入门学习Python---Python网络编程之django快速入门实践】

    🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验

    2024年02月16日
    浏览(34)
  • Java面向对象程序开发——网络编程入门知识

    ​ C/S结构 :client/sever是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :browser/sever是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 Web应用系统开发的两种流行架构 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一

    2024年02月12日
    浏览(31)
  • 网络编程的无冕之王-Netty入门和核心组件介绍

    最近我在研究Netty,之前只是经常听说,并没有实际做过研究,为什么突然要好好研究一下它,主要是因为前段时间,我在看RocketMQ底层原理的时候发现它的底层的网络通信都是基于Netty,然后网上一查,果然,大家太多的耳熟能详的工具组件,都是基于Netty做的开发。大家看

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包