首页 > 编程语言 >网络编程

网络编程

时间:2024-09-07 21:52:02浏览次数:4  
标签:编程 System 网络 IP地址 println InetAddress 客户端 out

网络编程

可以让设备中的程序与网络上的其他设备中的程序进行数据交互,实现网络通信。

基本的通信架构

基本通信架构有两种:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)。

网络编程_数据

网络编程_IP_02

网络通信三要素

网络编程_数据_03

网络编程_System_04

网络编程_System_05

网络编程_System_06

网络编程_IP_07

InetAddress(IP地址)

网络编程_IP_08

public class test {
    public static void main(String[] args) throws Exception {
        // 1. 获取本机IP地址对象
        InetAddress ip1 = InetAddress.getLocalHost();
        System.out.println("本地主机名: " + ip1.getHostName());
        System.out.println("本地IP地址: " + ip1.getHostAddress());

        // 2. 获取指定IP或主机名的IP地址对象
        InetAddress ip2 = InetAddress.getByName("www.baidu.com");
        System.out.println("指定主机名: " + ip2.getHostName());
        System.out.println("指定IP地址: " + ip2.getHostAddress());

        // 检查是否可到达
        System.out.println("是否可到达: " + ip2.isReachable(6000) + " (超时6秒)");
    }
}

端口

标记正在计算机上运行的应用程序,被规定为一个16位的二进制,范围0~65535

网络编程_数据_09

协议

网络上通信设备,事先规定的连接规则,以及传输数据的规则被称为网络通信协议。

网络编程_System_10

传输层的两个通信协议

UDP(User Datagram Protocol)用户数据报协议

TCP(Transmission Control Protocol)传输控制协议

UDP协议

特点:无连接、不可靠 。通信效率高,用于语音童话,视频直播。

不事先建立连接,数据按照包发,一包数据包括:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64K内)等。

发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不会确认,故是不可靠的。

TCP协议

特点:面向连接,可靠通信

目的:保证在不可靠的信道上实现可靠传输

三个步骤:三次握手建立连接(全手工,三次连接是指1.客户端向服务器端发出连接请求,2.服务器端返回响应,3.客户端再次发出确认信息,建立连接,确认双方能发能收),传输数据进行确认,四次挥手断开连接(1.客户端发送断开请求,2.服务器端返回稍等响应,3.服务器端返回响应确认断开,4.客户端发出正式断开连接。确保双方收发数据都已完成)。

标签:编程,System,网络,IP地址,println,InetAddress,客户端,out
From: https://blog.51cto.com/u_16382144/11946767

相关文章

  • Win10电脑网络正常,其他浏览器可以打开网页,但Chrome浏览器打不开网页,开发者工具中看请
    问题现象:Win10电脑网络正常,可以ping通baidu.com,qq.com,域名正常解析。其他浏览器edge可以打开网页但Chrome浏览器打不开网页,开发者工具中看请求未发出,左上角一直转圈圈解决办法:谷歌浏览器右上角,点击三个点按钮-->然后选择设置,高级--> 系统 -->选择代理设置。打开......
  • Python面向对象编程:学生类的实现与应用
    在现代编程中,面向对象编程(Object-OrientedProgramming,OOP)是一种非常重要的编程范式。它通过类和对象的概念,将现实世界的实体抽象成程序中的对象,从而实现对复杂系统的建模。本文将通过一个简单的学生类的例子,带大家了解如何使用Python实现面向对象编程。一、代码简介下面......
  • 面向对象编程的学习路线
    一、基础概念面向对象编程的基本概念面向对象编程是一种编程范式,它将数据和操作数据的方法封装在对象中。通过使用类和对象,我们可以更好地组织和管理代码。在面向对象编程中,我们可以使用继承、多态和封装等特性来提高代码的可重用性、可扩展性和可维护性。学习面向对象编程的基本概......
  • [Linux]查看网络状态
    在Linux中,有多种工具可以用来查看网络状态。以下是一些常用的方法:使用ss命令ss是查看套接字统计信息的现代工具,功能强大且高效。查看所有连接和监听端口:ss-a查看仅TCP连接:ss-t查看仅UDP连接:ss-u查看监听的套接字:ss-l查看与进程关联的连接:s......
  • HarmoryOS 网络请求模块及Axios库的封装
            我们在使用DevEecStudio进行网络请求时,需选择一个稳定、高效的网络库作为基础,如Axios、FetchAPI、Moya等;需要对网络请求的基本配置进行统一设定,比如基础URL、超时时间、默认请求头等;要进行错误处理:封装时应该考虑各种可能的错误情况,并提供统一的错误处理逻......
  • 构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
    深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类引言在计算机视觉领域中,CIFAR-10数据集是一个经典的基准数据集,广泛用于图像分类任务。本文将介绍如何使用PyTorch框架构建一个简单的卷积神经网络(CNN),并在CIFAR-10数据集上进行训练和评估。通过本文,您将了解......
  • 哪种编程语言在未来更有“钱途”
    在科技迅猛发展的今天,编程语言的选择对于职业发展和薪资水平有着深远的影响。尤其是在职场中,对于技术栈的选择不仅仅关乎工作的兴趣和发展,更直接关系到未来的经济回报。Python、Rust、Golang、C++和Java是当前市场上极具影响力的编程语言,它们各自有着不同的应用场景和行业需求......
  • 图神经网络基础(1)
    1.什么是图?        我们最熟悉的社交网络就是一个最典型的图       通常用图指代一种广义的抽象结构,用来表示一堆实体和它们之间的关系。实体被叫作图的节点,而实体和实体之间的关系构成了图的边。—个图G={γ,g}包含一个节点集合γ和一个边的集合g。以社......
  • 网络编程基础
    五种IO模型计算机编程中,IO模型是描述程序与输入/输出操作之间交互方式的抽象概念。不同的IO模型可以影响程序的性能、可扩展性和资源利用效率。我们常见有五种IO模型:阻塞式IO、非阻塞式IO、IO多路复用、信号驱动IO、异步IO。阻塞式IOlistenfd=socket();//打开......
  • 4-网络安全体系与网络安全模型
    4.1网络安全体系概述1)概念一般而言,网络安全体系是网络安全保障系统的最高层概念抽象,是由各种网络安全单元按照一定的规则组成的,共同实现网络安全的目标。网络安全体系包括法律法规政策文件、安全策略、组织管理、技术措施、标准规范、安全建设与运营、人员队伍、教育培训、产......