在这里插入图片描述
在这里插入图片描述

◆IP协议:网际协议(Internet Protocol)
◆TCP协议:
传输控制协议(Transmission Control Protocol)
◆UDP协议:用户数据协议(User Datagram Protocol)
◆IPX/SPX协议:互联网包交换协议-IPX,顺序分组交换协议-SPX
◆ATM协议:异步传输模式协议
Microsoft. Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System. Net和Syst em. Net. Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要-从socket 套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不断扩展的需要。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJyjYCUB-1599564375765)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20200907102601482.png)]

➢认识Socket
➢System Net. IPAddress: 提供网际协议(IP)地址
➢System Net. Sockets. TcpListener: 从TCP网络客户端侦听连接
➢System Net. Sockets. TcpClient: 为TCP网络服务提供客户端连接
➢System Net. IPEndPoint: 将网络端点表示为IP地址和端口号
➢System. Net. NetworkStream: 提供用于网络访问的基础数据流
➢Systemn. Net. Sockets. Socket: 实现Berkeley套接字接口
➢最原始的示例程序
➢小结
Socket原义为“插座" socket非常类似于电话插座。我们所见到的一切网络通讯程序基本上都基于socket来建设。在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket 正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有-个编号,有的插座提供220伏交流电,有的提供110伏交流电,有的则提供有线电视节目。客 户软件将插头插到不同编号的插座,就可以得到不同的服务。所谓socket通常也称作'套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或者应答网络请求。
System. Net. IPAddress :提供网际协议(IP)地址主要方法: GetAddressBytes 以字节数组形式提供IPAddress的副本IsLoopback回环地址判断NetworkToHostOrder将数字由网络字节顺序转换为主机字节顺序TryParse确定字符串是否为有效的IP地址
主要字段: Boradcase提供IP广播地址。255. 255. 255. 255Loopback提供环回地址。127.0.0.1
主要属性: AddressFamily获取IP地址的地址族
System. Net. Sockets. TcpClient: 为TCP网络服务提供客户端连接主要方法: BeginConnect 开始一个对远程主机连接的异步请求Close 释放此TcpClient实例,而不关闭基础连接Connect 使用指定的主机名和端口号将客户端连接到TCP主机EndConnect 异步接受传入的连接尝试
主要属性: Active 状态值,是否已建立连接Available 获取己经从网络接收且可供读取的数据量Client 获职或设置基础SocketConnected 用来指示TcpClient的基础Socket是否已连接到远程主机ExclusiveAddressUse 状态值,用来指定TcpClient是否只允许一个客户端使用端口RecevieBufferSize 获取或设置接收缓冲区的大小ReciveTime0ut 获取或设置在初始化一个读取操作以后,TcpClient等待接收数据的时间量SenBufferSize 获取或设置发送缓冲区的大小.SendTime0ut 获取或设置TcpClient等待发送操作完成的时间量
System. Net. IPEndPoint:将网络端点表示为IP地址和端口号主要方法: Create 从套接字地址创建终结点
主要字段: MaxPort 指定可以分配给Port属性的最大值。MaxPort值设置为00000FFFF。MinPort 指定可以分配给Port属性的最小值
主要属性: Address 获取或设置终结点的IP地址AddressFamily 获取网际协议(IP)地址簇Port 获取或设置终点的端口号
System. Net. NetworkStream:提供用于网络访问的基础数据流主要方法: BeginRead 从NetworkStream开始异步读取BeginWrite 开始向流异步写入EndRead 处理异步读取的结束EndWrite 处理异步写入的结柬Flush 刷新流中的数据。(保留此方法供将来使用)Read 从NetworkStream读取数据ReadByte 从流中读取一个字节,并将流内的位置推进一个字节,如果已达到末尾,则返回-1Write 将数据写入NetworkStreamWriteByte 将一个字节写入流内的当前位置,并将流内的位置向前推进一个字节。
主要属性: CanRead 获取一个值,用来说明NetworkStream是否支持读取CanTimeout 指示超时属性是否可用于NetworkStreamCanWrite 指示NetworkStream是否支持写入DataAvaiable 指示要读取的NetworkStr eam上是否有可用的数据Readable 指示NetworkStream是否可以读取Socket 获取基础SocketWriteable指示NetworkStream是否可写WriteTimeOut获取或设置写入操作阻止等待数据的时间量
System. Net. Sockets. Socket:实现BerkeIey套接字接口 主要方法: Accept 为新建连接创建新的SocketAcceptAsync 开始一个异步操作来接受一个传入的连接尝试BeginAccept 开始一个异步操作来接受一个传入的连接尝试BeginConnect 开始一个远程主机连接的异步请求BeginDisconnect 开始异步请求从远程终结点断开连接BeginReceive 开始从连接的Socket中异步接收数据BeginReceiveFrom 开始指定网络设备中异步接收数据BeginReceiveMessageFrom 开始使用指定的SocketFlags将指定字节数的数据异步接收到数据缓冲区的指定位置,然后存储结点和数据包信息BeginSend 将数据异步发送到连接的SocketBeginSendFile 将文件异步发送到数据的Socket对象BeginSendTo 向特定远程主机异步发送数据Bind 使Socket与一个本地终点相关联Close 关闭Socket连接并释放所有关联的资源Connect 建立与远程主机的连接ConnectAsync 开始一个对远程主机连接的异步请求Disconnect 关闭套接字连接并允许重用套接字DisconnectAsyne 开始异步请求从远程终结点断开连接Dispose 释放由Socket使用的非托管资源,并可根据需要释放托管资源DuplicateAndClose 重复目标进程的套接字引用,并关闭此进程的套接字EndAccept 异步接受传入的连接尝试EndConnect 结束挂起的异步连接请求EndDisconnect 结束挂起的异步断开连接请求EndReceive 结束挂起的异步读取EndReceiveFrom 结束挂起的、从特定终点进行异步读取EndReceiveMessageFrom 结束挂起的、从特定结定进行异步读取。此方法还显示有关数据包而不是EndRece iveFrom的更多信息EndSend 结束挂起的异步发送EndSendFile 结束文件的挂起异步发送EndSendTo 结束挂起的、向指定位置进行的异步发送GetSocketOption 返回Socket选项的值I0Control为Socket 设置低级别操作模式Listen 将Socket 置于侦听状态Pool 确定Socket 的状态Receive 接收来自绑定的Socket的数据ReceiveAsync 开始一个异步请求以便从连接的Socket对象中接收数据ReceiveFrom 接收数据报并存储源终结点ReceiveFromAsync 开始从指定网络设备中异步接收数据ReceiveMessageFromAsync 开始使用指定的SocketAsyncEventArgs. SocketFlags将指定字节数的数据异步接收到数据缓冲区的指定位置,并存储结点和数据包信息Select 确定一个或多个套接字的状态Send 将数据发送到数据的SocketSendAsync 将数据异步发送到连接的Socket对象SendFile 将文件和可选数据异步发送到连接的SocketSendPacketsAsync 将文件集合或者内存中的数据缓冲区以异步方法发送给连接的Socket对象SendTo 将数据发送到特定终点SendToAsync 向特定远程主机异点发送数据SetSocketOption 设置Socket选项Shutdown 禁用某Socket.上的发送和接收
主要属性: AddressFamily 获取Socket的地址族Available 获取已经从网络接收且可供读取的数据量Blocking 获取或设置一个值,该值指示Socket是否处于阻止模式Connected 获取一个值,指示Socket是在上次Send还是Receive操作时连接到远程主机DontFragment 指定Socket是否允许将Internet协议(IP)数据报分段EnableBroadCast 指定Socket是否可以发磅或接收广播数据包ExclusiveAddressUse 指定Socket是否公允许-个进程绑定到端口IsBound 指示Socket是否绑定到特定本地端口LingerState 指定Socket在尝试发送所有挂起数据时是否延迟关闭套接字LocalEndPoint 获取本地终结点MulticastLoopback 指定传出的多路广播数据包是否传递到发送应用程序ProtocolType 得到Socket的协议类型ReceiveBufferSize 指定Socket接收缓冲区的大小ReceiveTimeout 指定之后同步Receive调用将超时的时间长度RemoteEndPoint 得到远程终结点SendBufferSize 指定Socket发送缓冲区的大小SendTimeout 指定之后Send调用将超时的时间长度SocketType获取Socket的类型

客户机和服务器有什么区别

一个主动去连接,一个等待被连接

服务器:ConsoleSever

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;namespace ConsoleSever
{class Program{static void Main(string[] args){Int32 port = 5555;//设置连接方端口号IPAddress localAddr = IPAddress.Parse("127.0.0.1");//将字符串转为IPAddress实例byte[] byteReceive = new byte[256];//接收的报文流byte[] byteSend = null;//发送的报文流string strReceive = "";//接收的报文string strSend = "";//发送的报文bool bExit = false;//是否退出int length = 0;//报文的长度#region 服务器方式1,使用TcpClient、IPAddress、TcpListener和NetworkStream/* TcpListener server = null;//侦听tcp网络客户端的连接try{server = new TcpListener(localAddr, port);server.Start();//侦听连接请求Console.WriteLine("Info>>Wait for a Connection......");TcpClient client = server.AcceptTcpClient();//接受来自客户端的 挂起的 连接请求NetworkStream stream = client.GetStream();//得到用于发送和接收数据的流while (true){length = 0;strReceive = "";strSend = "";while ((length = stream.Read(byteReceive, 0, byteReceive.Length)) > 0)//从流中读取数据到字节数组中,如果不为空,则将字符串中的占位符去掉并显示数据,然后输入并发送报文{strReceive = System.Text.Encoding.UTF8.GetString(byteReceive);//将字节数组解码为字符串if (strReceive.IndexOf('\0') >= 0)//去除后面的空格{strReceive = strReceive.Remove(strReceive.IndexOf('\0'));}Console.WriteLine("info>>{0}", strReceive);//展示数据strSend = "";while (strSend == "")//写入不为空的发送数据{Console.Write("input>>");strSend = Console.ReadLine();}if (strSend == "exit")//退出循环{client.Close();bExit = true;break;}else//发送报文{byteSend = Encoding.UTF8.GetBytes(strSend);//转成字节数组stream.Write(byteSend, 0, byteSend.Length);//发送报文Console.WriteLine("info>>Send OK!");}Array.Clear(byteReceive, 0, byteReceive.Length);//清空缓存}if (bExit){break;}}}catch (SocketException e){Console.WriteLine("info>>ERROR:SocketException: {0}", e);}finally{server.Stop();}Console.WriteLine("info>>Press Enter Exit");Console.Read();*/#endregion#region 服务器方式2 IPEndPoint、IPAddress和SocketIPEndPoint point = new IPEndPoint(localAddr, port);//把ip和端口转化为IPEndPoint实例Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个套接字server.Bind(point);server.Listen(10);//挂起队列的最大长度Console.WriteLine("info>>Wait for a Connection......");Socket client = server.Accept();while ((length = client.Receive(byteReceive, byteReceive.Length, 0)) > 0)//从流中读取数据到字节数组中,如果不为空,则将字符串中的占位符去掉并发送数据{strReceive = System.Text.Encoding.UTF8.GetString(byteReceive);//将字节数组解码为字符串if (strReceive.IndexOf('\0') >= 0)//去掉后面的空格{strReceive = strReceive.Remove(strReceive.IndexOf('\0'));}Console.WriteLine("info>>{0}", strReceive);//展示数据strSend = "";while (strSend == "")//写入不为空的发送数据{Console.Write("input>>");strSend = Console.ReadLine();}byteSend = Encoding.UTF8.GetBytes(strSend);//client.Send(byteSend, byteSend.Length, 0);client.Send(byteSend);//发送数据包Console.WriteLine("info>>Send OK!");Array.Clear(byteReceive, 0, byteReceive.Length);//清空缓存}server.Close();client.Close();#endregion}}
}

客户端:ConsoleClient

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;namespace ConsoleClient
{class Program{static void Main(string[] args){Int32 port = 5555;//设置连接方端口号IPAddress ip = IPAddress.Parse("127.0.0.1");//将字符串转为IPAddress实例string strSend = null;//发送的报文string strRecive = null;//接收的报文byte[] byteSend = null;//发送的报文流byte[] byteRecive = new byte[256];//接收的报文流bool bExit = false;int length = 0;//报文的长度#region 客户机方式1 TcpClient、IPAddress和NetworkStream/*try{TcpClient client = new TcpClient(ip.ToString(), 5555);//连接到指定主机上的指定端口NetworkStream stream = client.GetStream();//获取流Console.Write("Input>>");strSend = Console.ReadLine();byteSend = Encoding.UTF8.GetBytes(strSend);stream.Write(byteSend, 0, byteSend.Length);//将数据写入流while((length = stream.Read(byteRecive, 0, byteRecive.Length)) != 0)//如果服务器端返回数据{strRecive = Encoding.UTF8.GetString(byteRecive);//将字节数组解码为字符串if (strRecive.IndexOf("\0") >= 0)//去除后面的空格{strRecive = strRecive.Remove( strRecive.IndexOf("\0") );}Console.WriteLine("info>>{0}", strRecive);//展示数据strSend = "";while(strSend == "")//写入不为空的发送数据{Console.Write("input>>");strSend = Console.ReadLine();}byteSend = Encoding.UTF8.GetBytes(strSend);//将字符串转化为字节数组stream.Write(byteSend, 0, byteSend.Length);//发送报文Console.WriteLine("info>>Send Ok!");Array.Clear(byteRecive, 0, byteRecive.Length);//清空缓存}}catch (SocketException e){Console.WriteLine("info>>ERROR : {0}", e);}*/#endregion#region 客户机方式2 IPEndPoint、IPAddress和SocketIPEndPoint point = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个套接字Console.WriteLine("info>>Connecting......");socket.Connect(point);//连接到服务器try{Console.Write("Input>");strSend = Console.ReadLine();//获取待发送的报文byteSend = Encoding.UTF8.GetBytes(strSend);//转化为比特流socket.Send(byteSend, byteSend.Length, 0);//发送报文 报文 发送的长度 开始位置while (true){if ((length = socket.Receive(byteRecive, byteRecive.Length, 0)) > 0)//从服务器端接收返回的数据{strRecive = Encoding.UTF8.GetString(byteRecive);//将字节数组解码为字符串if (strRecive.IndexOf("\0") >= 0)//去除后面的空格{strRecive = strRecive.Remove(strRecive.IndexOf("\0"));}Console.WriteLine("info>>{0}", strRecive);//展示数据strSend = "";while (strSend == "")//写入不为空的发送数据{Console.Write("input>>");strSend = Console.ReadLine();}if (strSend == "exit")//退出循环{socket.Close();bExit = true;break;}byteSend = Encoding.UTF8.GetBytes(strSend);socket.Send(byteSend, byteSend.Length, 0);//发送测试数据Console.WriteLine("info>>Send Ok!");Array.Clear(byteRecive, 0, byteRecive.Length);//清空缓存}}}catch (ArgumentNullException e){Console.WriteLine("info>>ERROR : {0}", e);}catch (SocketException e){Console.WriteLine("info>>ERROR : {0}", e);}finally{socket.Close();}#endregionConsole.WriteLine("Input>>please input Enter...");Console.ReadLine();}}
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 5G 与 MEC 边缘计算

    转自(JmilkFan_范桂飓)目录文章目录目录前言参考文献通信网络核心网演进之路早古时期2G 网络架构3G 网络架构4G 网络架构5G5G 网络的需求5G 网络架构的设计原则5G 网络的逻辑架构5G 核心网络的关键技术SBA 基于服务的架构微服务化基于服务的接口CUPS 控制与用户面分离网络切片…...

    2024/4/22 16:09:09
  2. 详解一条查询select语句和更新update语句的执行流程

    前言一条select语句的执行流程建立连接查询缓存解析器和预处理器词法解析和语法解析(Parser)预处理器(Preprocessor)查询优化器(Query Optimizer)优化器可以做哪些优化优化器并不是万能的优化器如何得到查询计划存储引擎查询返回结果一条update语句的执行流程Buffer Poolredo l…...

    2024/5/2 6:19:21
  3. HTTPS,HTTP追加协议 - 重学计算机网络系列(4)

    前言本篇文章主要讲HTTPS,HTTP和HTTPS区别,认证,SPDY的AJAX与Comet,WebsocketHTTPS HTTP的缺点 通信使用明文可能会被窃听 由于HTTP本身不具备加密的功能,所以也无法做到对通信整体(使用HTTP协议通信的请求和响应的内容)进行加密。即,HTTP报文使用明文(指未经过加密的…...

    2024/5/2 0:03:08
  4. 常见的Web攻击及防御办法 - 重学计算机网络系列(5)

    Web攻击分类 简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标。 web应用的攻击模式有以下两种主动攻击(主要攻击服务器上的资源)SQL注入攻击 OS命令注入攻击 其他被…...

    2024/4/13 15:10:54
  5. 浏览器系列(上)- 前端发展历史,渲染进程

    前端发展历史 早期时代(1990-)Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发。页面由 JSP、PHP 等工程师在服务端生成,浏览器负责展现。基本上是服务端给什么浏览器就展现什么,展现的控制在 Web Server 层。 这种模式的好处是简单明快,适合小…...

    2024/5/2 1:32:02
  6. 浏览器系列(中) - 浏览器缓存,WebStorage

    缓存定义缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。从一次完整的HTTP请求看缓存分类客户端缓存存在于客户端本地,如果客户端命中缓存,甚至不需要发起HTTP请求,相当于直接在本地拿数据。一般在这里的缓存技术有Cookie,localstorage,sessionstorage,本地文件…...

    2024/5/1 23:04:04
  7. 离散(时间)线性系统、离散化、Z域、差分方程

    离散(时间)控制系统: 一个控制系统中,有一处或者几处的喜好形式是脉冲序列信号或者编码序列信号(统称为离散信号),这个系统就称为离散(时间)控制系统。 分类: 采样控制系统 数字控制系统: 系统中具有数字式控制器或者计算机的控制系统。例如,四旋翼控制系统中,飞控…...

    2024/4/13 15:13:07
  8. 2020年最新人事管理软件排名(建议收藏)!

    今年受疫情影响,很多企业第一第二季度基本算是没了,剩下第三第四季度,可想而知企业的压力有多么的大,稍有松懈就会面临淘汰或者倒闭的风险。很多企业这段时间也都面临人才管理的压力,企业压力大,员工的压力也大,如何合理平衡企业与员工之间的关系至关重要。什么是人事管…...

    2024/4/22 14:59:13
  9. 使用frp无域名http内网穿透配置

    简单说就是直接使用tcp穿透,使用本方法的前提是必须要有一台有公网ip的电脑 配置如下:client端[common] server_addr = 外网服务器ip server_port = 7000 [web] type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = 80server端[common] bind_addr = 0.0.0.0 bind…...

    2024/4/27 15:03:47
  10. CG CTF-Web-综合题2

    前言 这道题主要涉及了文件包含、代码审计、SQL注入、回调后门等内容。 这道题是CG CTF里面出的比较好的一个题目了,对于我这样的萌新来说,虽然不能独立做出来,但是看了WP之后真的学到了很多东西,也知道了自己欠缺的在哪里。 WP 打开环境,看到是Xlcteam客户留言板。我们先…...

    2024/4/13 17:37:48
  11. 注解版的springaop实操讲解(赋完整测试代码)

    aop是个很强的东西,我们可以用来实现日志收集,鉴权,敏感词过滤等等功能。在说注解版的springaop使用之前,一些专业术语我用大白话来复述一遍,希望大家不要嫌弃。切面:切入点+通知 连接点:目标对象中被增强的某个方法 切点:连接点的集合 目标对象:被增强的对象 织入:把…...

    2024/4/17 23:25:29
  12. 映像租赁系统

    映像租赁系统:在美国,由于知识产权得到了很好的保护,所以一般不会出现盗版的问题。美国人除去在电影院看电影之外就是在影像店租碟回家去看。在这种情况下,影相出租的店铺就比较多。在信息化的背景下,设计一套系统管理影像出租业务成了当务之急,于是通过和店铺经理沟通,…...

    2024/4/22 0:30:45
  13. JVM内存结构 - Java内存模型 - Java对象模型

    Java的内存结构Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。可以这…...

    2024/4/17 15:53:29
  14. IBatis异常: Cannot find class: VARCHAR || Error starting ApplicationContext. To display the conditio

    我的问题再于主要就是 类型 jdbcType 写成了javaType,然后就没有然后了, 上异常,给大家参考 "D:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dsp…...

    2024/4/13 21:04:59
  15. 前端初步入门spring-------06-代理

    一、什么是代理 代理,是OOP里面,很重要的一个设计模式,成为代理模式 就是生成一个和真实角色 相同的 代理角色 真实角色负责自己业务有关的事情 代理角色负责一些边角的事情,来为真实业务辅助比如 医生 和 护士 医生算是一个真实角色,护士算是 医生的代理,也就是代理角色…...

    2024/4/28 8:59:56
  16. 字符串解析省市区

    字符串解析省市区,工具类,复制粘贴可直接使用import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern;/*** @author zqh*/ public class AddressResolutionUtil {private static String regex = "(?<province>[^省]+自治区|.*?省…...

    2024/4/18 10:04:11
  17. 数学建模预热:在MATLAB中使用GUI界面演示α粒子散射实验

    数学建模预热:在MATLAB中使用GUI界面演示α粒子散射实验前言 原子物理课上,老师对于卢瑟福原子模型以及库伦散射公式进行了推导,作为一个废物, 在走神半分钟后终究没能跟上老师的思路,导致整节课暴毙 临近数学建模,因为非计算机专业,MATLAB已经很久没有动用过了,故将之…...

    2024/4/25 20:40:58
  18. Linux到底该怎么学?RHCA架构师整理了300页学习笔记

    RHCARHCA:Red Hat Certified Architect红帽认证架构师(RHCA)红帽企业架构师课程主要面向那些负责部署和管理大型企业环境中众多系统的高级Linux系统管理员提供深入的实际操作培训,也是Linux领域公认的最受欢迎的、最成熟的认证。内容简介本书基于红帽RHEL系统编写,且内容通…...

    2024/4/13 20:54:00
  19. 这个轮子让SpringBoot实现api加密So Easy!

    SpringBoot的API加密对接在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。下面请出我们的最亮的项目rsa-encrypt-body-spring-boot项目介绍该项目使…...

    2024/4/13 21:34:40
  20. 通灵学院|研习7:兴趣曲线★(1200字)

    通灵学院|研习7:兴趣曲线★本文为暗夜琉璃NightRuri原创,侵权必究。往期研习:研习1:人类的需求与动机 https://blog.csdn.net/ctq310396634/article/details/107509119研习2:人类的外在人群特征 https://blog.csdn.net/ctq310396634/article/details/107601600研习3:人类…...

    2024/4/13 20:54:02

最新文章

  1. 【Mac】Mac安装软件常见问题解决办法

    前言 刚开始用Mac系统的小伙伴或者在更新系统版本后运行App的朋友会经常碰到弹窗提示「xxx已损坏&#xff0c;无法打开&#xff0c;您应该将它移到废纸篓」、「打不开xxx&#xff0c;因为Apple无法检查其是否包含恶意软件」、「打不开xxx&#xff0c;因为它来自身份不明的开发…...

    2024/5/2 6:30:32
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 探索进程控制第一弹(进程终止、进程等待)

    文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么&#xff1f;进程终止的情况代码跑完&#xff0c;结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

    2024/5/1 13:05:31
  4. WKWebView的使用

    一、简介 在iOS中&#xff0c;WKWebView是WebKit框架提供的一个用于展示网页内容的控件&#xff0c;相比UIWebView有更好的性能和功能。 以下是在iOS中使用WKWebView的基本步骤&#xff1a; 1.1 导入WebKit框架 import WebKit1.2 创建WKWebView实例 let webView WKWebVie…...

    2024/4/30 2:02:30
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/1 10:25:26
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/1 13:20:04
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/1 21:18:12
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/1 4:07:45
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/30 23:32:22
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/1 6:35:25
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/1 11:24:00
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/30 22:14:26
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/1 6:34:45
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/30 20:39:53
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/1 4:45:02
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/1 8:32:56
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/1 14:33:22
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/1 11:51:23
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/1 5:23:20
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57