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学习总结09 -> 正文阅读

[网络协议]Java学习总结09

网络编程

什么是网络

网:蜘蛛网;络:联络

网络目的:链接多个计算机做 互通有无。 (数据交换) 局域网、城域网、广域网。

网络的三大基石

ip 确定位置

端口 确定程序

协议:http https ftp smtp ip 确保听懂

网络分层模型

?socket编程

?传输层TCP和UDP协议:

????????TCP

????????????????三次握手 四次挥手

????????????????需要创建链接 ,握手操作 ( 3次)

????????????????安全

????????????????传送数据多

????????UDP

????????????????不需要创建链接

????????????????不安全

????????????????效率高

????????????????传送数据有大小限制

基于TCP收发信息

//1: 创建serversocket
ServerSocket server = new ServerSocket(8888);
//2:获取客户端链接对象
Socket client = server.accept(); //阻塞方法
//3、获取数据
//3-1 获取输入流
InputStream is = client.getInputStream();
byte[] buf = new byte[1024];
int length = is.read(buf);
//3-2 操作数据
System.out.println("客户端发送数据:"+new String(buf,0,length));
// 准备写出数据
String str = "hv";
//1-1 获取输出流
OutputStream os = client.getOutputStream();
os.write(str.getBytes());

UDP

一端称之为:发送方 一端称之为:接收方

//1;创建socket对象
// 注意端口要和发送方的 发送包中指定的端口一致
DatagramSocket rec = new DatagramSocket(10002);
//2、接受数据包
//2-1 创建接受的数据包
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf,buf.length);
//2-2 接受数据包
rec.receive(packet); //阻塞方法
//3、获取发送方发送的数据信息
byte[] bufs = packet.getData();
int length = packet.getLength();
int port = packet.getPort();
InetAddress ip = packet.getAddress();
System.out.println("接收到数据:"+new String(bufs,0,length)+"" +
"发送方的端口:"+port);
// 发送数据给发送方
//构建一个pack对象
DatagramPacket d = new DatagramPacket(
"hello 山炮".getBytes(),"hello 山炮".getBytes().length,ip,port );
rec.send(d);
//1、创建对象
DatagramSocket send = new DatagramSocket(10001);
//2、发送数据
//2-1 构建一个发送的数据包
String msg = "udp hello";
DatagramPacket packet = new DatagramPacket(msg.getBytes(),
msg.getBytes().length, InetAddress.getLocalHost(),10002);
System.out.println(new SimpleDateFormat("hh:mm:ss").format(new
Date()));
System.out.println("年轻人:"+msg);
//3、发送
send.send(packet);
//构建接受包
byte[] buf = new byte[1024];
DatagramPacket p = new DatagramPacket(buf,buf.length);
// 接受数据信息系
send.receive(p);
System.out.println(new SimpleDateFormat("hh:mm:ss").format(new
Date()));
System.err.println("小年轻:"+new
String(p.getData(),0,p.getLength()));

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:33:59  更:2021-08-25 12:35:46 
 
开发: 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年11日历 -2024/11/25 21:28:25-

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