网络编程----java

news/2024/5/18 15:59:37 标签: 网络, 网络接口, udp

网络编程

1. 网络编程的概述

 连接具有独立功能多台计算机设备,在网络操作系统,实现资源共享和 信息传递的计算机系统

2. 网络模型

计算机网络之间以何种规则进行通信
网络模型一般是指 TCP /IP
----------------------- 应用层
----------------------- 传输层
----------------------- 网际层
----------------------- 主机至网络

3. 网络通信的三要素

端口号

InetAddress java提供的内部类供我们操作ip地址
如果一个类没有构造函数
A. 所有的方法都是静态的
B. 或者是单例模式
C. 类中有静态方法返回对象

static InetAddressgetByName(String host)   在给定主机名的情况下确定主机的 IP 地址 根据主机名得到ip地址对象

一些静态方法
//InetAddress in=Inet4Address.getByName(“WRGHO-707091619”);

 InetAddress in=Inet4Address.getByName("10.32.237.100");
		//根据主机名获取ip地址
		System.out.println(in);
		String s1=in.getHostName();
		System.out.println(s1);//根据ip获取计算机的名字
		String s2=in.getHostAddress();
		System.out.println(s2);//根据ip地址获取ip地址的字符串类型

4.UDP

UDP
将数据源和目的封装成数据包,不需要建立连接,是不可靠协议,不需要建立连接
把数据打包 数据有限制 不建立连接 速度快 不可靠

5. Socket: 网络套接字

Socket 编程:网络编程 套接字编程
Socket包含了IP地址 +端口
Socket原理机制
------------- 通信的两端都有Socket
------------- 网络通信其实就是socket间的通信
------------- 数据在两个socket间通过IO传输
在这里插入图片描述
接收端
在这里插入图片描述
发送端:
在这里插入图片描述
运行的时候一定要先运行接收端 然后运行发送端
在这里插入图片描述

6. Tcp

(1).TCP
建立连接,形成传输数据的通道,在连接中继续您大量数据传输,通过三次握手完成连接是可靠协议,必须建立连接,效率会稍低。
UDP 发短信
TCP 打电话
(2).TCP发送数据
A.创建发送端的Socket对象
这一步如果成功,就说明连接已经成功
B.获取输出流,写数据
C.释放资源
客户端:
Socket对象
在这里插入图片描述
服务端:
服务端的Socket对象是 ServerSocket
然后监听 socket s=ss.accept();
在转换为字节流来读取数据
在这里插入图片描述
流程图:
在这里插入图片描述
服务器给客户端加反馈:
(3).传送文件
客户端
在这里插入图片描述
服务器端
在这里插入图片描述
4)传送图片
传送图片必须用字节流
客户端:
在这里插入图片描述
服务器端
在这里插入图片描述


http://www.niftyadmin.cn/n/1712057.html

相关文章

常用经典排序算法

排序算法 本文主要介绍常用的经典排序算法 内容 重点排序算法主要分为:交换【1、2】、插入【3、4】、选择【5、6】、归并、计数排序、桶排序、基数排序 其中: 1、冒泡排序 2、快速排序 3、简单插入排序 4、希尔排序 5、简单选择 6、堆排序 7、归并排序…

反射-----java

反射 1. 类的加载 再用的时候必须先加载 而且加载先加载class文件 静态是随着类的加载而加载 2.类初始化时机 先加载父类 因为害怕子类用父类 3.类加载器 4.反射 反射就通过class文件对象,去使用该文件的成员变量,构造方法,成员方法 反…

JVM详解----java

一. 什么是JVM 1.内容: Java程序的运行环境(Java二进制字节码的运行环境) 好处: a. 一次编写,到处运行 b. 自动内存管理,垃圾回收功能 c. 数组下标越界检查 d. 多态 比较: Jvm隔绝与操作系统的…

简述TCP/IP 协议栈

TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下…

经典查找算法

查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以…

HOT42-将有序数组转换为二叉搜索树

leetcode原题链接:将有序数组转换为二叉搜索树 题目描述 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二…

枚举类详解----java

枚举类 1. 枚举概述 枚举是指将变量-- – 列出来, 变量得值只限于列举出来的值得范围内是有限个实类(了解即可) 自己定义的: 因为要直接获取对象 而且不可更改 所以必须是final 而且用了static,相当于是调用了静态方法 通过构造…

JDK8 的新特性---java

1. 数字中间可以加_ 2. try语句 3. 细节 a. 接口中可以有自己的默认方法 Default 修饰 b. 接口中还可以有静态的方法