IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> JAVA网络编程必备知识储库 -> 正文阅读

[网络协议]JAVA网络编程必备知识储库

JAVA网络编程必备知识储库

软件结构

  • C/S结构:全称Client/Server结构,指客户端和服务端结构,常见程序QQ、迅雷
    C/S结构图
  • B/S结构:全称Browser/Server结构,是指浏览器结构和服务器结构,常见浏览器谷歌、火狐
    B/S结构图

两种架构各有优势,但无论哪种架构都离不开网络的支持,网络编程,就是在一定的协议下,实现两台电脑的通信协议。

网络通信协议

  • 网络通信协议:通过计算机网络可以使多台计算机连接,位于同一个网络的计算机在进行连接和通信是必须遵守一定的规则。
  • TCP/IP协议:传输控制协议/因特网互联协议,是Internet最基本,最广泛的协议,定义计算机如何连入因特网,以及数据如何在它们之间传输的标准,它的内部包含了一系列用于处理数据通信的协议,并采用四层分层模式,每一层都呼叫他的下一层所提供的协议完成自己的需求。分为应用层、传输层、网络层、物理层

协议分类

  • UDP:用户数据报协议。UDP是无连接通信协议,即在通信的时候发送端和接收端不建立逻辑连接。特点:消耗资源小,通信效率高但不能保证数据的完整性,通常音频,视频电话用UDP协议
  • TCP:传输控制协议,是面向连接的通信协议,即通信前发送端和接收端建立逻辑连接,而这个连接包含一个对象IO流对象,在传输数据,由客户端向服务端发送请求连接,每次连接的创建都需要经过三次挥手,确保连接的可靠。
    • 第一次握手:客户端向服务端发出请求连接,等待服务端请求连接
    • 第二次握手:服务端向客户端回送一个响应,通知客户端收到了连接请求
    • 第三次握手:客户端再次向服务端发送确认信息,确认连接

IP地址

  • IP地址:指互联网协议地址,IP地址给一个网络中计算机设备做唯一的编号,相当于电话号码
  • IP地址分类:IPV4、IPV6
  • 查看本机IP地址,在控制台输入

ipconfig

  • 检查网络是否连通,在控制台输入

ping 空格 IP地址

  • 127.0.0.1、localhost代表本机IP

端口号

端口号:当我们网络软件一打开,那么操作系统会为网络软件分配一个随机端口号
或者给操作系统要一个指定端口号

TCP通信程序

  • 两端通信步骤

1、服务端程序,需要事前启动,等待客户端连接
2、客户端主动连接服务端,连接成功才能通信,服务端不可以主动连接客户端

  • JAVA中提供了两个类实现TCP通信程序

1、客户端:java.net.Socket类表示,创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立,连接开始通信
2、服务端:java.net.ServerSocket类表示,创建ServerSocket对象,相当于开启一个服务,并等待客户端的连接。
在这里插入图片描述


TCP通信协议代码展示

客户端

public class TCPClient {
    public static void main(String[] args) throws IOException {
        Socket socket= new Socket("127.0.0.1",8888);
        OutputStream os = socket.getOutputStream();
        InputStream is = socket.getInputStream();
        os.write("你好".getBytes(StandardCharsets.UTF_8));
        byte []bytes=new byte [1024];
        int len = is.read(bytes);
        System.out.println(new String (bytes,0,len));
        socket.close();
    }
}

服务端

public class TCPServer {
    public static void main(String[] args) throws IOException {
        ServerSocket st=new ServerSocket(8888);
        Socket socket = st.accept();
        InputStream is = socket.getInputStream();
        byte []bytes=new byte [1024];
        int len = is.read(bytes);
        System.out.println(new String (bytes,0,len));
        OutputStream os = socket.getOutputStream();
        os.write("谢谢".getBytes(StandardCharsets.UTF_8));
        st.close();
        socket.close();
    }
}
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:59:41  更:2021-10-16 20:00:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/29 18:06:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码