在这里插入图片描述

5.1 回声客户端的完美实现

第4章已分析过回声客户端存在的问题, 此处无再说. 如果大家不太理解, 请复习第2章的 TCP 传输特性和第4章的内容.

回声服务器端没有问题, 只有回声客户端有问题?
问题不在服务器端, 而在客户端. 但只看代码也许不太好理解, 因为I/O中使用了相同的函数. 先回顾一下回声服务器端的I/O 相关代码, 下面是 echo_server 的 50~51行代码.
在这里插入图片描述
接下来回顾回声服务器客户端代码, 下面是echo_client.c 的第45~46行代码.
在这里插入图片描述
二者都在循环调用read 或 write 函数. 实际上之前的回声客户端将 100% 接收自己传输的数据, 只不过接收数据时的单位有些问题. 扩展客户端代码回顾范围, 下面是echo_client.c 第37 行开始的代码.
在这里插入图片描述
大家现在理解了吧? 回声客户端传输的是字符串, 而且是通过调用write函数一次性发送的. 之后还调用一次read 函数, 期待着接收自己传输的字符串. 这就是问题所在.
在这里插入图片描述
的确, 过一段时间后立即可接收, 但需要等多久? 等10分钟吗? 这不符合常理, 理想的客户端应在收到字符串数据时立即读取并输出.

回声客户端问题解决方法

我说的回答客户端问题实际上初级程序员经常犯的错误, 其实很容易解决, 因为可以提前确定接收数据的大小. 若之前传输了20字节长的字符串, 则在接收时循环调用read 函数读取20个字节即可. 既然有了解决方法, 接下来给出其代码.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>#define BUF_SIZE 1024void error_handling(char *message);int main(int argc, char *argv[])
{int sock;char message[BUF_SIZE];int str_len, recv_len, recv_cnt;struct sockaddr_in serv_adr;if (argc != 3){printf("Usage : %s <IP> <port>\n", argv[0]);exit(1);}sock = socket(PF_INET, SOCK_STREAM, 0);if (sock == -1){error_handling("socket() error");}memset(&serv_adr, 0, sizeof(serv_adr));serv_adr.sin_family = AF_INET;serv_adr.sin_addr.s_addr = inet_addr(argv[1]);serv_adr.sin_port = htons(atoi(argv[2]));if (connect(sock, (struct sockaddr*)&serv_adr, sizeof(serv_adr)) == -1){error_handling("connect() error!");}else{puts("Connected ......");}while (1){fputs("Input message(Q to quit): ", stdout);fgets(message, BUF_SIZE, stdin);if (!strcmp(message, "q\n") || !strcmp(message, "Q\n")){break;}recv_len = 0;while (recv_len < str_len){recv_cnt = read(sock, &message[recv_len], BUF_SIZE-1);if (recv_cnt == -1){error_handling("read() error!");}recv_len += recv_cnt;}message[recv_len] = 0;printf("Message from server: %s", message);}close(sock);return 0;
}void error_handling(char *message)
{fputs(message, stderr);fputc('\n', stderr);exit(1);
}

代码第46行循环可以写成如下形式, 可能这种方式更容易理解.
在这里插入图片描述
接收的数据大小应和传输的相同, 因此, recv_len 中保存的值等于str_len 中的值时, 即可跳出 while 循环. 也许各位认为这种循环更符合逻辑, 但有可能发生无限循环. 假设发生异常情况, 读取数据过程中 recv_len 超过 str_len, 此时就无法退出循环. 而如果 while 循环写成下面这种形式, 则即使异常也不会陷入无限循环.
在这里插入图片描述
写循环语句时应尽量降低因异常情况而陷入无限循环的可能. 以上实例可以结合第4章的echo_server.c 运行. 各位已经非常熟悉运行结果,

如果问题不在于回声客户端: 定义应用层协议

回声客户端可以提前知道接收接收的数据长度, 但我们应该意识到, 更多情况下这不太可能. 既然如此, 若无法预知接收数据长度时应如何收发数据? 此时需要的就是应用层协议的定义. 之前的回声服务器端/客户端中定义了如下协议.
在这里插入图片描述
同样, 收到数据过程中也需要定好规则(协议)以表示数据的边界, 或提前告知收发数据的大小. 服务器端/客户端实现过程中逐步定义的这些规则集合就是应用层协议. 可以看出, 应用层协议并不是高深莫测的存在, 只不过是为特定程序的实现而制定的规则.

下面编写程序以体验应用层协议的定义过程. 该程序中, 服务器端从客户端获得多个数字和运算符信息. 服务器端收到数字后对其进行加减运算, 然后把结果传到客户端. 例如, 向服务器端传递3 . 5 . 9的同时请求加法运算, 则客户端收到 3+5+9 的运算结果: 若请求做乘法, 则客户端收到 3x5x9的运算结果. 而如果向服务器端传递 4 . 3 . 2 的同时要求做减法, 则客户端将收到 4-3-2 的运算结果, 即第一个参数成为被减数.

请各位根据以上要求编写服务器端/客户端, 细节部分可以自定义. 我实现的程序运行结果如下. 先给出服务器运行结果.

在这里插入图片描述
可以看出, 服务器端的运行结果并没有特别区别. 可以通过如下客户端运行结果了解程序运行原理.
在这里插入图片描述
从运行结果可以看出, 客户端首先询问用户待算数字的个数, 再输入相应个数的整数, 最后以运算符的形式输入运算符号信息, 并输出运算结果(+ - * ). 当然, 实际的运算时由服务器端做的, 客户端只输出结果. 为了更准确地理解, 再给出1个客户端运行结果. 这次是请求2次个数的减法运算.
在这里插入图片描述
运行结果并不一定要一样.

我编写程序前设计了如下应用层序协议, 但这只是为实现程序而设计的最低协议, 实际的应用程序中需要的协议更详细, 精确.
在这里插入图片描述
这种程度协议相当于实现了一半程序, 这也是应用层协议设计在网络编程中的重要性. 只要设计好协议, 实现就不会成为大问题, 另外, 之前也讲过, 调用close函数将向对方传递EOF, 请各位记住这一点并加以运用. 接下来给出我实现的计算器客户端代码. 实际上, 与服务器端相比, 客户端中有更多需要学习的内容.

客户端
to do....

客户端实现的讲解到此结束, 最后给出客户端向服务器端传输的数据结构实例, 如图5-1所示.
在这里插入图片描述
从图5-1中可以看出, 若想在同一数组中保存并传输多种数据类型, 应把数组声明为char类型. 而且需要额外做一些指针及数组运算. 接下来给出服务器端代码.

服务器端
to do ...

TCP 套接字中的 I/O 缓冲

如前所述, TCP 套接字的数据收发无边界. 服务器端即使调用1次write函数传输40字节的数据, 客户端也有可能通过4次read 函数调用读取10字节. 但此处也有一次疑问, 服务器端一次传输了 40 字节, 而客户端居然可以缓慢地分批接收. 客户端接收10 字节后, 剩下的30在何处等待呢?

实际上, write 函数调用后并非立即传输数据, read 函数调用后也并非马上接收数据. 更准确地说, 如图5-2所示, write函数调用瞬间, 数据将移至输出缓存; read 函数调用瞬间, 从缓存读取数据.
在这里插入图片描述
如图5-2所示, 调用write 函数时, 数据将移到输出缓冲, 在适当的时候(不管是分别传送还是一次性传送)传向对方的输入缓冲. 这时对方将调用read 函数从输入缓冲读取数据. 这些 I/O 缓冲特性如下.
在这里插入图片描述
那么, 下面这种情况会引发什么事情? 理解了I/哦缓冲后, 各位应该猜出其流程:
在这里插入图片描述
这的确是个问题. 输入缓冲区只有50个字节, 却受到100字节的数据, 可以提出如下解决方案:
在这里插入图片描述
当然, 这只是我的一个小玩笑, 相信大家会当真, 那么马上给出结论:
在这里插入图片描述
也就是说, 根本不会发生着类问题, 因为 TCP 会控制数据流. TCP 中有滑动窗口(Sliding Window) 协议, 用对话方式呈现如下.
在这里插入图片描述
数据收发也是如此, 因此 TCP 中不会因为缓存溢出而丢失数据.
在这里插入图片描述

TCP 内部工作原理1: 与对方套接字的连接

TCP 套接字从创建到消失所经过程分为如下3步.
在这里插入图片描述
首先讲解与对方套接字建立连接的过程. 连接过程中套接字之间的对话如下.
在这里插入图片描述
TCP 在实际通信过程中也会经过3次对话过程, 因此, 该过程又称Three-way handshaking(三次握手). 接下来给出过程中实际交换的信息格式, 如图5-3所示.
在这里插入图片描述
套接字是以全双工(Full-duplex)方式工作的, 也就是说, 它可以双向传递数据. 因此, 发数据前需要做一些准备. 首先, 请求连接的主机A向主机B传递如下信息:
在这里插入图片描述
该消息中SEQ为1000, ACK为空, 而SEQ为1000的含义如下:
在这里插入图片描述
这是首次请求连接时使用的消息, 又称 SYN. SYN是Synchronization 的简写, 表示收发数据前传输的同步消息. 接下来主机B向A传递如下消息:
在这里插入图片描述
此时SEQ为2000, ACK为1001, 而SEQ为2000的含义如下:
在这里插入图片描述
而ACK 1001的含义如下:
在这里插入图片描述
对主机A首次传输的数据包确认消息(ACK 1001)和为主机B传输数据做准备的同步消息(SEQ 2000)绑定发送, 因此, 此种类型的消息又称SYN+ACK.

收发数据前向数据包分配序号, 并向对方通报此序号, 这都是为防止数据丢失所做的准备. 通过向数据包分配序号并确认, 可以在数据丢失时马上查看丢失的数据包. 因此, TCP可以保证可靠的数据传输. 最后观察主机A向主机B传输的消息:
在这里插入图片描述
之前也讨论过, TCP 连接过程中发送数据包时需分配序号. 在之前的序号1000的基础上加1, 也就是分配1001. 此时该数据包传递如下消息:
在这里插入图片描述
这样就传输了添加ACK 2001 的ACK消息. 至此, 主机A和主机B确认了彼此均就绪.

TCP 内部工作原理2: 与对方主机的数据交换

通过第一步三次握手过程完成了数据交换准备, 下面就正式开始收发数据, 其默认方式如图5-4 所示.
在这里插入图片描述
图5-4给出了主机A分2次(分2次数据包)向主机B传递200字节的过程. 首先, 主机A通过1个数据包发送100个字节的数据, 数据包的SEQ为1200. 主机B为确认这一点, 向主机A发送ACK1301消息

此时的ACK号为1301而非1201, 原因在于ACK号的增量为传输的数据字节数. 假设每次ACK号不加传输的字节数, 这样虽然可以确认数据包的传输, 但无法明确100字节都正确传递还是丢失一部分, 比如只传递了80字节. 因此按如下公式传递ACK消息:
在这里插入图片描述
与三次握手协议相同, 最后加1 是为了告知对方下次要传递的SEQ号. 下面分析传输过程中数据包消失的情况, 如图5-5所示.
在这里插入图片描述
图5-5表示通过SEQ 1301数据包向主机B传输100字节数据. 但中间发生了错误, 主机B未收到. 经过一段时间后, 主机A仍未收到对应 1301的ACK确认, 因此试着重传该数据包. 为了完成数据包重传, TCP 套接字启动计时器以等待ACK 应答. 若相应计时器超时(Time-out!)则重传.

TCP 的内部工作原理 3: 断开与套接字的连接

TCP 套接字的结束过程也非常优雅. 如果对方还有数据需要传输时直接断掉连接出问题, 所以断开连接时需要双方协商. 断开连接时双方对话如下.
在这里插入图片描述
先由套接字A向套接字B传递断开的消息, 套接字B发出确认的消息, 然后向套接字A传递可以断开连接的消息, 然后向套接字A传递可以断开连接的消息, 套接字A同样发出确认消息, 如图5-6 所示.
在这里插入图片描述
图5-6 数据包内的 FIN 表示断开连接, 也就是说, 双方各发送1次 FIN 消息后断开连接. 此过程经历 4 阶段, 因此又称四次握手(Four-way handshaking). SEQ和ACK的含义与之前讲解的内容一致, 故省略, 图5-6中主机A传递了两次 ACK 5001, 也许这会样各位感到困惑. 其实, 第二次FIN 数据包中的ACK 5001 只是因为接收ACK 消息后未接收数据而重传的.

前面讲解了TCP 协议基本内容TCP流控制(Flow Control), 希望这有助于大家理解TCP 数据传输特性.

结语:

时间: 2020-05-29

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Java去除字符串中的空格以及特殊符号

    前言在抓取一个网站内容的时候遇到了这样的日期没找到现成的代码,就自己写了个方法Java将汉字数字日期转换为数字日期(例如: 二〇二〇年十一月二十一日 → 2020年11月21日)本以为高枕无忧了没成想过了几天又开始作妖了,前面加了一堆空格一样的东西异常拦截到了一打印果真好长…...

    2024/4/16 13:01:35
  2. el-image无法显示本地服务器请求图片的原因之一及解决办法

    一. 需求 在一个页面上,需要根据服务器返回的类型参数(parameterType)来显示不同的图片内容。例:当parameterType值为0时,页面需要显示XXX证书;当parameterType值为1时,页面需要显示XXX信息照片。二. 代码部分 // template里面 <div><div v-if="userInfor…...

    2024/4/16 13:01:40
  3. 2020-05-29—力扣刷刷-83.删除排序链表中的重复元素

    题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/ 题目分析: 1.由于链表已经排序,删除重复元素,只需从前到后判断当前元素是否与后面元素重复,若重复,删除其中一个即可 2.由于链表结点的特征性,因此我们可以通过将结点的值与它之后的结点…...

    2024/4/19 19:18:39
  4. FeignClient请求调用时如何添加requestHeader

    FeignClient请求调用时如何添加requestHeader 方法一: yml文件中修改hystrix的隔离策略hystrix默认的隔离策略是线程池隔离 , 此处我们将其修改为信号量隔离 图片源自:https://www.cnblogs.com/duanxz/p/9681470.html 方法二 自定义隔离策略 @Slf4j @Component public class Fe…...

    2024/4/20 6:28:49
  5. Java中Double数据类型的数学运算工具类

    package com.framework.util;import java.math.BigDecimal; import java.text.DecimalFormat;/*** @author ZhangKaiXuan* * @date 2019年11月1日* */ public class CalculatorUtils {/*** double 相加* * @param d1* @param d2* @return*/public static Double sum(Double d1,…...

    2024/4/16 13:01:30
  6. 【maxwell】企业级生产maxwell配置与排坑指南

    本篇不讨论 canal和maxwell的区别,github上面可以看到源码,并且查看项目的基本背景。首先说报错吧,第一次遇到权限不够的情况:无法找到某某某不用的数据库这是因为maxwell给予binlog级别,且需要采集mysql实例创建maxwell数据库,所以,需要有全库的 *.* 赋权其次是及时全库…...

    2024/4/19 21:10:37
  7. leetcode面试题01.01java 判定字符是否唯一

    面试题01.01:题目:实现一个算法,确定一个字符串s的所有字符是否全都不同。难度:简单示例 1: 输入: s = "leetcode" 输出: false 示例 2: 输入: s = "abc" 输出: true 限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。java实现:…...

    2024/4/16 13:02:16
  8. Redis分布式锁、RedisTemplate、lettuce实现

    springboot新版本使用lettuce取代了jedis连接redis,分布式锁实现代码如下import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.RedisStringCommands; import org.springfram…...

    2024/4/16 13:02:11
  9. vue下用ElementUI实现登录页面

    成果:src目录下周再补偿,要先去做首页布局了。。。。...

    2024/4/24 5:07:05
  10. bat 关闭指定用户下的进程

    关闭Administrator用户下的conhost进程taskkill /f /fi "username eq Administrator" /im conhost.exe这里作下说明:Administrator就是你指定的用户,想关闭哪个用户就写哪个用户conhost.exe是想要关闭的进程,可以换成cmd.exe等等扩展: 关闭所有的conhost.exe,所…...

    2024/4/24 9:01:43
  11. 高精四则运算及求模运算(四)

    高精四则运算及求模运算之高精度除法题目描述 输入两个整数 a,b,输出它们的商。 输入格式 两行,第一行是被除数,第二行是除数。 输出格式 一行,商的整数部分。 输入输出样例 输入10 2输出5思路:先定义一个字符数组来存储字符串,定义两个整型数组来存储两个被除数和商;接…...

    2024/4/24 9:01:42
  12. C++ Primer 第五版 第五章 练习题编程题目答案

    https://github.com/jzplp/Cpp-Primer-Answer练习5.1只有一个分号的语句是空语句。语法上需要但逻辑上不需要语句的时候会使用空语句。练习5.2块是用花括号括起来的语句序列。在语法上需要一条语句但是逻辑上需要多条语句的时候会使用块。练习5.3while(val <= 10)sum += val…...

    2024/4/24 9:01:41
  13. git 的Permission denied !!!!

    如果反复进行ssh 创建和更换都没解决问题, 还有一个可能!当前的用户是否有创建文件夹的权限!!! 绕了我半天~~ 对文件夹设置读写权限参考: https://blog.csdn.net/qq_37342374/article/details/82186602 ssh创建参考: https://blog.csdn.net/qq_38656557/article/details…...

    2024/4/24 9:01:39
  14. haproxy集群+keepalived

    针对上一篇博客的karaf集群,在项目中的计划是需要部署一个对外提供http接口的插件(两台karaf中各部署一个http).那么就有一个问题,对于两台服务器上的集群,怎么通过一个地址实现对集群中接口的轮询访问? --负载均衡1.haproxy选择nginx和haproxy都可以.简介:HAProxy提供高可用…...

    2024/4/24 9:01:39
  15. R、RStudio下载与安装方法

    一、R下载: R-4.0.0-win(32/64)位windows操作系统下载地址: 链接:https://pan.baidu.com/s/1OZ47xWN8jc3Ahd7KUFkIxA 提取码:09s2 安装步骤: 下载完R安装包(我下的按转包名称为:“R-4.0.0-win.exe”),之后双击开始安装,跟一般的软件安装一样,根据需要进行相关安装…...

    2024/4/24 9:01:43
  16. 关于RTP的SDP文件

    【版权申明】转载请附上出处链接 关于RTP的SDP文件 SDP文件的介绍 即SDP(Session Describe Protocol),会话描述协议。用于在媒体会话中传递媒体流信息,并允许会话描述的接收者去参与会话。它定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒…...

    2024/4/24 9:01:39
  17. BGP路径选择-AS_Path(学习笔记+实验验证)

    BGP路径选择-AS_Path一,原理概述二,实验练习(对着书做的)(一)实验目的(二)实验内容(三)实验拓扑步骤1,基本配置2,配置BGP路由信息3,观察AS_Path属性对BGP选路的影响4,修改AS_Path属性控制BGP选路 一,原理概述当一台BGP路由器存在多条去往同一目标网络的BGP路由时…...

    2024/4/24 9:01:41
  18. C语言实现顺序栈

    众所周知,栈在C/C++语言里面是一个十分重要的结构,像比较经典的函数调用栈,就是一个典型的栈结构,还有递归、中缀表达式转后缀表达式、后缀表达式求值、递归转换非递归等,都用到了栈。 栈是先进后出的结构,其大致结构如下: 下面是栈的结构设计: typedef int ElemType; …...

    2024/4/24 9:01:37
  19. C语言实现各类排序算法超简单

    C 排序算法冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。过程演示:实例#include <stdio.h> void bubble_sort(int arr[], int len) {…...

    2024/4/24 9:01:38
  20. Problem B: 深入浅出学算法003-计算复杂度

    Problem B: 深入浅出学算法003-计算复杂度Time Limit: 1 Sec Memory Limit: 64 MB Submit: 2826 Solved: 1165Description算法复杂度一般分为:时间复杂度、空间复杂度、编程复杂度。 这三个复杂度本身是矛盾体,不能一味地追求降低某一复杂度,否则会带来其他复杂度的增加。…...

    2024/4/24 9:01:38

最新文章

  1. 【C++】:拷贝构造函数和赋值运算符重载

    目录 一&#xff0c;拷贝构造函数1. 什么是拷贝构造函数2. 拷贝构造函数的特性3. 实践总结 二&#xff0c;赋值运算符重载2.1 运算符重载2.2 赋值运算符重载 一&#xff0c;拷贝构造函数 1. 什么是拷贝构造函数 拷贝构造函数是特殊的构造函数。是用一个已经存在的对象&#x…...

    2024/4/25 22:45:46
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. VAE——生成数字(Pytorch+mnist)

    1、简介 VAE&#xff08;变分自编码器&#xff09;同样由编码器和解码器组成&#xff0c;但与AE不同的是&#xff0c;VAE通过引入隐变量并利用概率分布来学习潜在表示。VAE的编码器学习将输入数据映射到潜在空间的概率分布的参数&#xff0c;而不是直接映射到确定性的潜在表示…...

    2024/4/24 7:41:08
  4. 2024最新版克魔助手抓包教程(9) - 克魔助手 IOS 数据抓包

    引言 在移动应用程序的开发中&#xff0c;了解应用程序的网络通信是至关重要的。数据抓包是一种很好的方法&#xff0c;可以让我们分析应用程序的网络请求和响应&#xff0c;了解应用程序的网络操作情况。克魔助手是一款非常强大的抓包工具&#xff0c;可以帮助我们在 Android …...

    2024/4/19 11:52:10
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/25 11:51:20
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/25 18:39:24
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/25 18:38:39
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/25 18:39:23
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/25 18:39:22
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/25 18:39:20
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/25 16:48:44
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/25 13:39:44
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/25 0:00:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/25 4:19:21
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/25 18:39:12
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/25 13:19:01
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/25 18:38:58
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/25 18:38:57
  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