实现一个分布式数据库(2)建立_ossSocket自定义套接字封装类
socket回顾
socket地址(以Internet Socket为例):
本地IP地址与端口;
远程IP地址与端口(适用于已经建立的TCP连接);
协议(TCP、UDP)。
流程图:
socket API:
socket() 创建一个新的套接字并分配资源
bind()用于服务端,将套接字与套接字地址(IP+port)绑定
listen()用于服务端,将绑定的TCP置于监听状态
connect()用于客户端,分配一个本地的空闲端口,并与远程地址连接
accpet()用于服务端,接受一个新的连接请求,并创建一个与其绑定的套接字
select()用于等待一个或者多个指定套接字的下一个读写事件
poll()用于测试一个或者多个套接字的读写状态
setsockopt()配置指定套接字的参数
用于mydb的_ossSocket套接字类
类示意图:其中-代表private,#代表protected,+代表public.
接下来会挑几个重要的函数解析。
big endian/little endian
数值0x2211用两个字节存储,高位字节为0x22,低位字节为0x11。
big endian:0x2211
little endian: 0x1122
网络字节序一般为big endian。
(既然big endian符合人类从高位读的习惯,为什么还要有little endian?
这是因为计算电路一般从低位开始读起,运算效率高。)
创建socket:
//socket的创建函数分为了
//创建一个socket
//创建一个用于listen的socket
//创建一个用于connect的socket
//创建一个已经存在的socket
//这里我们以listen socket为例:
_ossSocket::_ossSocket(unsigned int port,int timeout)
{//初始化信息_init=false;_fd=0;_timeout=timeout;//清空本机及对方地址memset(&_sockAddress,0,sizeof(sockaddr_in));memset(&_peerAddress,0,sizeof(sockaddr_in));//设置本机和远程的地址长度_peerAddressLen=sizeof(_peerAddress);_addressLen=sizeof(_sockAddress);//本机选择IPV4,接受任意地址_sockAddress.sin_family=AF_INET;//htonl 将主机的长整型转换成网络字节顺序//htons 将主机的整形转换成网络字节顺序_sockAddress.sin_addr.s_addr=htonl(INADDR_ANY);_sockAddress.sin_port=htons(port);
}
初始化socket
//需要注意的是我们将创建socket的准备工作放到了前面去做
//具体的socket创建放到了init中
int _ossSocket::initSocket()
{int rc=EDB_OK;if(_init) goto done;memset(&_peerAddress,0,sizeof(sockaddr_in));_peerAddressLen=sizeof(_peerAddress);//创建socket SOCK_STREAM为有保障的,SOCK_DGRAM为无保障的_fd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(-1==_fd){printf("Failed to initialize socket,error=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}_init=true;setTimeout(_timeout);done:return rc;error:goto done;
}
socket的linger机制
//socket的linger,为close以后等待缓冲区发送晚的驻留时间
//l_onoff为是否在close后等待缓冲区发送完,l_linger为驻留时间
int _ossSocket::setSocketLi(int lOnOff,int linger)
{int rc=EDB_OK;struct linger _linger;_linger.l_onoff=lOnOff;_linger.l_linger=linger;//setsockopt,SOL_SOCKET代表需要在socket层面上进行设置,后面跟需要设置的内容rc=setsockopt(_fd,SOL_SOCKET,SO_LINGER,(const char*)&_linger,sizeof(_linger));return rc;
}
bind与listen
int _ossSocket::bind_listen()
{int rc=EDB_OK;int temp=1;//设置地址可重用rc=setsockopt(_fd,SOL_SOCKET,SO_REUSEADDR,(char*)&temp,sizeof(int));if(rc) printf("Failed to setsocktopt SO_REUSEADDR,rc=%d",SOCKET_GETLASTERROR);//设置linger时间rc=setSocketLi(1,30);if(rc) printf("Failed to setsocktopt SO_LINGER,rc=%d",SOCKET_GETLASTERROR);//进行bind,需要fd,本机地址,地址长度rc=::bind(_fd,(struct sockaddr*)&_sockAddress,_addressLen);if(rc){printf("Failed to bind socket,rc=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}//进行listen,需要fd,最大连接数rc=listen(_fd,SOMAXCONN);if(rc){printf("Failed to listen socket,rc=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}
done:return rc;
error:close();goto done;
}
send发送数据
int _ossSocket::send(const char *pMsg,int len,int timeout,int flags)
{int rc=EDB_OK;int maxFD=_fd;struct timeval maxSelectTime;//fd_set用于select,实际上是一个数组,检查哪个句柄可读fd_set fds;maxSelectTime.tv_sec=timeout/1000000;maxSelectTime.tv_usec=timeout%1000000;//len为0则返回if(0==len) return EDB_OK;//给一个循环用于等待socket就绪while(true){FD_ZERO(&fds); //将set中清零,无fdFD_SET(_fd,&fds);//将_fd加入set//select非阻塞轮询函数,根据对应的poll判断是否有资源可用(可读或者可写)//需要检查的文件描述字个数,用于检查可读性的一组文件描述字,可写性文件描述字,异常情况的文件描述字,//超时,NULL为阻塞,0为非阻塞,其他为超时时间rc=select(maxFD+1,NULL,&fds,NULL,timeout>=0?&maxSelectTime:NULL);//select超时if(0==rc){rc=EDB_TIMEOUT;goto done;}if(0>rc){rc=SOCKET_GETLASTERROR;//错误是中断则继续selectif(EINTR==rc)continue;printf("Failed to select from socket,rc=%d",rc);rc=EDB_NETWORK;goto error;}//检查fd是否已经在set中if(FD_ISSET(_fd,&fds))break;}while(len>0){ //连接断开时,系统会返回一个SIGPIPE。我们设置成不要返回。rc=::send(_fd,pMsg,len,MSG_NOSIGNAL|flags);if(-1==rc){printf("Failed to send,rc=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}//每次发送后,待发送的长度减去rc;len-=rc;//在发送缓冲区后加上已发送长度。pMsg+=rc;}rc=EDB_OK;
done:return rc;
error:goto done;
}
recv接受数据
//recv设置了两个函数,一个是将缓冲区的数据全部发出,另一个为recvNF有多少发多少
//其区别在于有无while循环检测
#define MAX_RECV_RETRIES 5 //中断重连的次数
int _ossSocket::recv(char *pMsg,int len,int timeout,int flags)
{int rc=EDB_OK;int retries=0;int maxFD=_fd;struct timeval maxSelectTime;fd_set fds;maxSelectTime.tv_sec=timeout/1000000;maxSelectTime.tv_usec=timeout%1000000;if(0==len) return EDB_OK;while(true){FD_ZERO(&fds); //将set中清零,无fdFD_SET(_fd,&fds);//将_fd加入setrc=select(maxFD+1,NULL,&fds,NULL,timeout>=0?&maxSelectTime:NULL);if(0==rc){rc=EDB_TIMEOUT;goto done;}if(0>rc){rc=SOCKET_GETLASTERROR;if(EINTR==rc)continue;printf("Failed to select from socket,rc=%d",rc);rc=EDB_NETWORK;goto error;}if(FD_ISSET(_fd,&fds))break;}while(len>0){rc=::recv(_fd,pMsg,len,MSG_NOSIGNAL|flags);if(rc>0){ //MSG_PEEK,读取数据包的时候,不会把该数据包从缓存队列中删除if(flags & MSG_PEEK) goto done;len-=rc;pMsg+=rc;}else if(rc==0){printf("Peer unexpected shutdown");rc=EDB_NETWORK_CLOSE;goto error;}else{ //EAGAIN代表在非阻塞模式下调用了阻塞操作,EWOULDBLOCK是在windows下的EAGAINrc=SOCKET_GETLASTERROR;if((EAGAIN==rc||EWOULDBLOCK==rc)&&_timeout>0){printf("Recv() timeout: rc=%d",rc);rc=EDB_NETWORK;goto error;}//EINTR操作被中断唤醒if((EINTR==rc)&&(retries<MAX_RECV_RETRIES)){retries++;continue;}printf("Recv() Failed: rc=%d",rc);rc=EDB_NETWORK;goto error;}}rc=EDB_OK;
done:return rc;
error:goto done;}
connect客户端连接
int _ossSocket::connect()
{int rc=EDB_OK;//建立连接rc=::connect(_fd,(struct sockaddr *)&_sockAddress,_addressLen);if(rc){printf("Failed to connect,rc=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}//获取本机地址rc=getsockname(_fd,(sockaddr*)&_sockAddress,&_addressLen);if(rc){printf("Failed to get local address,rc=%d",rc);rc=EDB_NETWORK;goto error;}//获取对方地址rc=getpeername(_fd,(sockaddr*)&_peerAddress,&_peerAddressLen);if(rc){printf("Failed to get peer address,rc=%d",rc);rc=EDB_NETWORK;goto error;}
done:return rc;
error:goto done;}
服务端的accept函数
int _ossSocket::accept(int *sock,struct sockaddr *addr,socklen_t *addrlen,int timeout)
{int rc=EDB_OK;int maxFD=_fd;struct timeval maxSelectTime;fd_set fds;maxSelectTime.tv_sec=timeout/1000000;maxSelectTime.tv_usec=timeout%1000000;while(true){FD_ZERO(&fds); //将set中清零,无fdFD_SET(_fd,&fds);//将_fd加入setrc=select(maxFD+1,NULL,&fds,NULL,timeout>=0?&maxSelectTime:NULL);if(0==rc){rc=EDB_TIMEOUT;goto done;}if(0>rc){rc=SOCKET_GETLASTERROR;if(EINTR==rc)continue;printf("Failed to select from socket,rc=%d",rc);rc=EDB_NETWORK;goto error;}if(FD_ISSET(_fd,&fds))break;}//上面与send的检查一致rc=EDB_OK;*sock=::accept(_fd,addr,addrlen);if(-1==*sock){printf("Failed to accept socket,rc=%d",SOCKET_GETLASTERROR);rc=EDB_NETWORK;goto error;}
done:return rc;
error:close();goto done;
}
disableNagle机制
//防止多个小包打包成大包
int _ossSocket::disableNagle()
{int rc=EDB_OK;int temp=1;//TCP往往会把多个小包打包成大包,防止由于封装拆包影响传输//但是对于数据库实时性要求性高的系统,我们需要NODELAYrc=setsockopt(_fd,IPPROTO_TCP,TCP_NODELAY,(char*)&temp,sizeof(int));if(rc) printf("Failed to setsockopt,rc=%d",SOCKET_GETLASTERROR);rc=setsockopt(_fd,SOL_SOCKET,SO_KEEPALIVE,(char*)&temp,sizeof(int));if(rc) printf("Failed to setsockopt,rc=%d",SOCKET_GETLASTERROR);return rc;
}
超时机制
int _ossSocket::setTimeout(int seconds)
{//windows把毫秒作为参数,linux把timeval作为参数int rc=EDB_OK;struct timeval tv;tv.tv_sec=seconds;tv.tv_usec=0;rc=setsockopt(_fd,SOL_SOCKET,SO_RCVTIMEO,(char*)&tv,sizeof(tv));if(rc) printf("Failed to setsockopt,rc=%d",SOCKET_GETLASTERROR);rc=setsockopt(_fd,SOL_SOCKET,SO_SNDTIMEO,(char*)&tv,sizeof(tv));if(rc) printf("Failed to setsockopt,rc=%d",SOCKET_GETLASTERROR);return rc;
}
对了最后向好心人求助一下Makefile的missing separator. Stop.问题,网上的tab方法并不适用,在autoconf的环境搭建下老是会出现此类问题…
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- ORACLE使用中的查询系统表相关记录
-- 加ORACLE并发 /*+parallel(t,10) (b,10)*/-- NOLOGGING 无日志 CREATE TABLE table_name NOLOGGING-- ORACLE进程查询select sess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefrom v$locked_object lo,dba_objects ao,v$session se…...
2024/4/24 11:56:00 - 虚拟机对象揭秘
文章目录对象的创建过程在Java中如何创建对象JVM中创建对象的内存布局(对象的机构)对象头Header实例数据填充数据估计对象内存大小估计计算公式对象的访问定位句柄访问直接指针访问 对象的创建过程 在Java中如何创建对象使用New关键字 克隆、序列化JVM中创建检查类是否加载、…...
2024/4/15 4:52:01 - 自定义跨平台字符串
1.std::basic_string 描述: The basic_string object keeps an internal copy of alloc, which is used to allocate and free storage for the characters it contains. 说明std::basic_string适用存储任意类型字符 windows中用它定义string和wstring类型: using string = b…...
2024/4/18 12:00:25 - Tensorflow 2.0 不兼容 Session(),报错Tensor is unhashable if Tensor equality is enabled.
Tensorflow 2.0 不兼容 Session(),报错Tensor is unhashable if Tensor equality is enabled. 问题描述 TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_ref() as the key. 解决方案 将tf.compat.v1.disable_eager_execut…...
2024/4/15 4:51:59 - typescript编译出错依旧能生成js文件
function sayHello(person: string) {return Hello, + person; }let user = [0, 1, 2]; console.log(sayHello(user));上面会因为类型问题编译出错,但是依旧会生成对应的js文件function sayHello(person) {return Hello, + person; } var user = [0, 1, 2]; console.log(say…...
2024/4/20 2:20:06 - 数据库练习
1 张三 98 北京 111111111@qq.com 2 李四 88 上海 111111111@qq.com 3 王五 78 广州 111111111@qq.com 4 赵六 68 深圳 111111111@qq.com 5 孙七 58 杭州 111111111@qq.com 6 小红 48 北京 111111111@qq.com 7 小黑 99 上海 111111111@qq.com 8 小绿 100 杭州 111111111@qq.com…...
2024/4/18 23:12:42 - B站科普区优质科普(技术区)UP主挖掘分析
B站科普区优质UP主挖掘分析 爬虫的代码(在这里感谢贾老师)有兴趣的可以私聊我~ 数据获取方式:公众号:YOLO的学习进阶日常 回复:B站 注意:本数据集没有粉丝数,粉丝数需要另外一个API,这里我很多小伙伴都已经写过怎么爬去粉丝数,我就不赘述了文章目录B站科普区优质UP主…...
2024/4/20 15:55:43 - 【巨杉数据库SequoiaDB】专注基础软件自研,巨杉入选“2020信创产业独角兽100强”
近日,作为新一代金融级分布式数据库,巨杉数据库凭借着在国产软件领域取得的瞩目成就,入选由德本咨询、eNet研究院和互联网周刊联合评选的“2020信创产业独角兽百强榜”。信息技术创新是从核心到应用的系统工程,包括CPU芯片等IT基础设施,数据库等基础软件,OA、EPR等应用软…...
2024/4/15 4:51:55 - 长痛不如短痛吧,即使再难熬也会熬过去 时间能解决的问题,就别再为难对方了!一直都是白天自愈深夜崩溃,这么久,不早就适应了吗?
...
2024/4/15 4:51:54 - Effective-Java 明智审慎地使用 Stream
45. 明智审慎地使用 Stream 在 Java 8 中添加了 Stream API,以简化串行或并行执行批量操作的任务。 该 API 提供了两个关键的抽象:流 (Stream),表示有限或无限的数据元素序列,以及流管道 (stream pipeline),表示对这些元素的多级计算。 Stream 中的元素可以来自任何地方。…...
2024/4/15 4:52:23 - 矩阵连乘问题
动态规划算法的基本要素最优子结构性质 重叠子问题性质设计动态规划算法的步骤找出最优解的性质,并刻划其结构特征 递归地定义最优值 以自底向上的方式计算出最优值 根据计算最优值时得到的信息,构造最优解分析最优解的结构特征 假设我们已经知道了在第 kkk 个位置加括号会得…...
2024/4/19 13:18:34 - Leecode刷题日记198-打家劫舍【Java】
打家劫舍 1.问题描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 …...
2024/4/15 4:52:19 - 高等数学同济七版与概率论浙大四版pdf
网上找的pdf文档大多没有目录或目录不全,所以我手动补全了目录(PS:概率论只补到第九章,因为后边大多学校不考),希望对大家学习有所帮助: 链接:https://pan.baidu.com/s/14lTw9HR6-1d8lcEpVFUpNw 提取码:a801...
2024/4/15 4:52:18 - 过渡
transition:提供了已终止哎css属性时控制动画速度方法。transition-property:width(过渡的属性)(默认值all)transition-duration:2s;(过渡的时间)---对应的时长会被应用到transition-property上面。--必须带单位transition-timing-function: linear;----变速---cubic-bez…...
2024/4/15 4:52:17 - anaconda3.7创建python3.6环境失败
conda create, conda install, conda update报错conda.core.subdir_data.Response304ContentUnchanged 解决方法:先查看channelsconda config --get channels 我的电脑上运行结果是: –add channels ‘defaults’ # lowest priority –add channels ‘https://mirrors.tuna…...
2024/4/15 4:52:16 - Win10 NVIDIA Container占用CPU高的处理方法
打开任务管理器,发现 NVIDIA Container 占用CPU非常高(36.6%)。2Windows 10系统 NVIDIA Container占用CPU高的处理方法在任务管理器窗口中,先展开 NVIDIA Container,再右键点击:NVIDIA Display Container LS,在右键菜单中点击:打开服务;3在本地服务窗口中,找到并左键…...
2024/4/15 4:52:15 - [机器学习]正则化项L1和L2的学习与理解
正则化项L1和L2的学习与理解一,正则化(Regularization)稀疏模型与特征选择的关系二, L1和L2正则化的直观理解正则化和特征选择的关系三,梯度角度分析L1正则化L2正则化 一,正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一…...
2024/4/15 4:52:14 - SpringCloud零基础小白入门教程及笔记总结
文章目录SpringCloud阶段的学习微服务架构4个核心问题核心问题解决方案常见的面试问题?带着这些去学习微服务的概述什么是微服务?微服务优缺点微服务通信机制微服务的技术栈有哪些?为什么选择SpringCloud作为微服务架构SpringCloud入门概述SpringCloud是什么SpringCloud和Sp…...
2024/4/15 4:52:13 - matplotlib 学习二(读取图片)
import matplotlib.cbook as cbook import matplotlib.pyplot as pltwith cbook.get_sample_data(1.png) as image_file: # 原生只支持png格式image = plt.imread(image_file)fig, ax = plt.subplots() ax.imshow(image) ax.axis(off) # 不展示坐标系...
2024/4/15 4:52:13 - robotframework报告汉化
网上的汉化文件下载之后汉化是没问题了但是看log会有点问题,所以参考对照汉化了下,使用源文件,仅对文本进行汉化。C:\Python\Lib\site-packages\robot\htmldata\rebotreport.html<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q…...
2024/4/19 14:28:55
最新文章
- vscode安装乐鑫esp32—IDF工具的顺序
vscode安装乐鑫esp32—IDF工具的顺序,网上有很多教程,我看了不少的教程,也尝试了很多遍安装,有时候总是会碰到很多难以解释的问题,现在我把我的安装顺序和需要注意的问题总结记录一下:由于安装没有截图&…...
2024/5/3 19:04:07 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 《前端防坑》- JS基础 - 你觉得typeof nullValue === null 么?
问题 JS原始类型有6种Undefined, Null, Number, String, Boolean, Symbol共6种。 在对原始类型使用typeof进行判断时, typeof stringValue string typeof numberValue number 如果一个变量(nullValue)的值为null,那么typeof nullValue "?" const u …...
2024/5/3 15:22:42 - 从头开发一个RISC-V的操作系统(二)RISC-V 指令集架构介绍
文章目录 前提ISA的基本介绍ISA是什么CISC vs RISCISA的宽度 RISC-V指令集RISC-V ISA的命名规范模块化的ISA通用寄存器Hart特权级别内存管理与保护异常和中断 目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提…...
2024/5/1 12:59:53 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/2 9:28:15 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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