const 发布的文章

“const”

中国智能交通产业联盟标准 T/ITS 0051—2017 基于的 LTE 车联网无线通信技术总体技术要求

基于LTE的车联网无线通信技术 总体技术要求.pdf

根据 T/CSAE 0053-2016,LTE-V2X 消息的传输特征:
有在发送送方用户设备有效通信距离范围内的接收方用户设备,接收发送方用户设备广播的 LTE-V2X 消息;
消息大小特征:发送方用户设备广播的 LTE-V2X 消息(不含信息安全开销)典型大小为[50,300 ] 字节,最大消息大小不超过 1200 字节;
消息频率特征:发送方用户设备以 [1,10] 赫兹频率广播 LTE-V2X 消息给临近的其他用户设备。

6.1.8 消息发送频率要求
要求 31:E-UTRAN 应能够支持路边单元和车联网终端最大 10Hz 的消息发送频率。
6.1.9 消息大小要求
要求 32:不考虑安全相关的消息单元,对于周期性的消息,E-URTRAN 应能支持的消息大小
在 50-300 byte 之间。
5T/ITS 0051— 2017
要求 33:不考虑安全相关的消息单元,对于事件触发的消息,E-UTRAN 应能支持消息最大为
1200 byte。

基于 LTE 的车联网无线通信技术网络层技术要求 pdf

本标准按照GB/T 1.1-2009给出的规则起草。
本标准由中国智能交通产业联盟提出并归口。
本标准起草单位:中国信息通信研究院,交通运输部公路科学研究院,电信科学技术研究院有限公
司,华为技术有限公司,高通无线通信技术(中国)有限公司,东软集团股份有限公司,北京星云互联
科技有限公司,深圳市金溢科技股份有限公司,中兴通讯股份有限公司,中国移动通信集团有限公司,
中国联合网络通信集团有限公司。

基于 LTE 的车联网无线通信技术 网络层技术要求
1
范围
本标准规定了基于 LTE 的车联网无线通信技术的网络层技术要求,包括短消息协议、应
用注册、业务管理以及业务公告,与 3GPP、ISO 标准相衔接。
本标准适用于基于 LTE 的车联网无线通信技术网络层的设计与开发。
2
规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适
用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
YD/T 3400-2018 基于 LTE 的车联网无线通信技术 总体技术要求
YD/T 3340-2018 基于 LTE 的车联网无线通信技术 空口技术要求
3
缩略语
下列符号和缩略语适用于本文件。
AID:应用标识(Application ID)
CBR:信道忙率(Channel Busy Ratio)
DME:专用管理实体(Dedicated Management Entity)
DSA:专用业务公告(Dedicated Service Advertisement)
DSM:专用短消息(Dedicated Short Message)
DSMP:专用短消息协议(Dedicated Short Message Protocol)
IP:因特网互连协议(Internet Protocol)
LTE:长期演进技术(Long Term Evolution)
LTE-V2X:基于LTE的车用无线通信技术(LTE Vehicle to Everything)
MAC:媒介接入控制(Medium Access Control)
MIB:管理信息库(Management Information Base)
PDB:数据包时延预算(Packet Delay Budget)
PDCP:分组数据汇聚协议(Packet Data Convergence Protocol)
1T/ITS 0108-2019
PPPP:邻近业务数据包优先级(ProSe Per-Packet Priority)
SAP:服务接入点(Service Access Point)
SDU:业务数据单元(Service Data Unit)
TCP:传输控制协议(Transmission Control Protocol)
UDP:用户数据报协议(User Data Protocol)

T_ITS 0108-2019 基于LTE的车联网无线通信技术 网络层技术要求.pdf

update:2021-11-16
十月份商品住宅销售价格略有下降
房地产市场长效机制不断完善

本报北京11月15日讯(记者亢舒)国家统计局15日发布了10月份70个大中城市商品住宅销售价格变动情况。国家统计局城市司首席统计师绳国庆介绍,10月份70个大中城市商品住宅销售价格环比总体延续略降态势,同比涨幅继续回落。

绳国庆介绍,各线城市新建商品住宅和二手住宅销售价格环比呈略降态势。据测算,10月份,一线城市新建商品住宅销售价格环比持平。其中,北京和上海环比分别上涨0.6%和0.1%,广州和深圳分别下降0.3%和0.2%。一线城市二手住宅销售价格环比下降0.4%,与上月相同。其中,北京、上海、广州和深圳环比分别下降0.5%、0.4%、0.6%和0.2%。二线城市新建商品住宅销售价格环比由上月持平转为下降0.2%;二手住宅销售价格环比下降0.3%,降幅比上月扩大0.2个百分点。三线城市新建商品住宅销售价格和二手住宅销售价格环比均下降0.3%,降幅比上月均扩大0.1个百分点。

绳国庆介绍,各线城市新建商品住宅和二手住宅销售价格同比涨幅继续回落。据测算,10月份,一线城市新建商品住宅和二手住宅销售价格同比分别上涨5.0%和6.7%,涨幅比上月分别回落0.3个和1.0个百分点。二线城市新建商品住宅和二手住宅销售价格同比分别上涨3.7%和2.5%,涨幅比上月分别回落0.4个和0.5个百分点。三线城市新建商品住宅和二手住宅销售价格同比分别上涨1.8%和1.0%,涨幅比上月分别回落0.5个和0.4个百分点。

记者梳理发现,70个大中城市中,新建商品住宅销售价格与上月相比上涨的城市有13个,持平的有5个,下降的城市有52个。二手住宅方面,价格与上月相比上涨的城市有4个,持平的有2个,下降的城市有64个。
![房地产市场长效机制不断完善][1]
对于房地产市场与消费的关系,国家统计局新闻发言人付凌晖15日表示,今年以来,房地产市场长效机制不断完善,各部门在持续稳地价、稳房价、稳预期,房地产市场总体保持平稳发展。“我们看到,前10个月商品房销售面积还在扩大,两年平均保持增长,会带动相关消费增长。”付凌晖说。

房地产金融政策对于房地产市场的影响较为显著。对于房地产市场,金融部门近日连续发声。央行表示,要维护房地产市场平稳健康发展。此外,要坚持稳健的货币政策,做好跨周期设计,统筹考虑今明两年政策衔接,更好支持消费投资恢复,抑制价格过快上涨,促进经济社会高质量发展。银保监会则强调,要稳地价、稳房价、稳预期,遏制房地产金融化泡沫化倾向,健全房地产调控长效机制,促进房地产业稳定健康发展。这表明,房地产市场的金融政策主基调将以稳为主。

从统计数据看,当前,房价有一定下降态势。下半年以来,银行可用于购房按揭贷款额度不足,导致购房者减少。不少房企因为经营压力大实施降价促销换取销量提升。二手住宅方面,购房者观望情绪浓厚,很多二手房房主也调低了出售价格。

今年以来,不少城市出台了房价“限跌令”,很多城市要求房地产企业不得低于备案价格的一定比例进行销售。各地出台“限跌令”的原因主要希望避免房价出现过快下跌。“稳”应该成为楼市主基调。促进房地产市场平稳健康发展,应该进一步稳地价、稳房价、稳预期,既抑制房地产泡沫,又防止大起大落。

Referenced from:http://paper.ce.cn/jjrb/html/2021-11/16/content_453544.htm

中国10月房价逾六年半来首显环比下滑 短期仍降价压力
 update:2021-11-16
与“金九”爽约后,中国楼市再次错失“银十”。10月房价下跌的城市数量明显增加,二手房市场与新房相比更为惨淡。二季度以来,二手房成交量保持续下降,新房、土地市场也相继降温,需求端和供给端同步降杠杆。分析人士认为,短期房价仍有一定的降价压力,一二线热点城市11-12月有可能出现价格战,但下行局面或将在年底或明年年初筑底。

中国国家统计局周一公布的70个大中城市房价数据显示,一二三线城市二手房价格环比均下跌,新房方面,一线城市价格环比持平上月,但二三线城市价格环比均下降。随后公布的投资相关数据显示,中国房地产活动持续放缓。不过,随着信贷政策有所放松,融资环境有所改善,房企到位资金同比降幅缩窄。

“房价下跌的原因是需求端和供给端同步降杠杆,”贝壳研究院首席市场分析师许小乐称,下半年以来居民按揭贷款的额度收缩,而房企在较大的经营压力下,加大降价促销力度和范围。

他认为,短期房价仍有一定的降价压力,但幅度相对平稳。市场下行的局面有望在年底或明年年初筑底。

路透根据中国国家统计局周一公布数据测算,7月70个大中城市新建商品住宅价格指数同比升3.4%,为2016年1月以来最小涨幅;环比下跌0.2%,为2015年2月以来弱,上个月为持平,上一次环比下跌是2015年3月,当时下跌了0.1%。

经路透测算,10月70个大中城市中,新建住宅价格指数环比上涨的有13个(上月为27个);持平五个(上月七个);下跌52个(上月36个)。二手房下跌的城市个数则达到64个,较上月增加12个。新建住宅和二手住宅下跌个数均为多年来罕见。

统计局数据显示,10月一线城市新建和二手住宅销售价格环比分别为持平和下降0.4%,较上月相同。新建方面北京和上海环比分别上涨0.6%和0.1%,广州和深圳分别下降0.3%和0.2%。二手住宅方面,北京、上海、广州和深圳环比分别下降0.5%、0.4%、0.6%和0.2%。

易居研究院智库中心研究总监严跃进表示,从二手房的降价城市数量看,大概有90%的城市出现了明显的降价现象。“从房地产市场的风险防范角度看,也要关注二手房市场的降温现象。“

Referenced from:https://www.or123.net/?p=397045

gdb ./test
b main
set args .
r
p argc
p argv[0]
p argv[1]

gdb> b main
gdb>......
gdb> set args 127.0.0.1
gdb> r
gdb> p argc ------ 值:2
gdb> p argv @1 ------- 值:127.0.0.1

gdb调试命令的使用及总结
设置断点  (gdb) b 6

  这样会在运行到源码第6行时停止,可以查看变量的值、堆栈情况等;这个行号是gdb的行号。

查看断点处情况  (gdb) info b

  可以键入"info b"来查看断点处情况,可以设置多个断点;

运行代码  (gdb) r

显示变量值  (gdb) p n

  在程序暂停时,键入"p 变量名"(print)即可;

  GDB在显示变量值时都会在对应值之前加上"$N"标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作"$N",而无需写冗长的变量名;

观察变量  (gdb) watch n

 在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点;

单步运行  (gdb) n

程序继续运行  (gdb) c

  使程序继续往下运行,直到再次遇到断点或程序结束;

10)退出GDB  (gdb) q
Referenced from:https://www.jb51.net/article/36393.htm

GDB常用命令使用说明(一) - 爱折腾的西山居士 - 博客园
update:2021-11-16
gdb使用前置条件:编译时加入debug信息。

    gcc/g++是在编译时加入-g,其他语言请自行百度。值得注意的是,-g分4个等级:

-g0等于不加-g。即不包含任何信息
-g1只包含最小信息,一般来说只有你不需要debug,只需要backtrace信息,并且真的很在意程序大小,或者有其他保密/特殊需求时才会使用-g1。
–g2为gdb默认等级,包含绝大多数你需要的信息。
–g3包含一些额外信息,例如包含宏定义信息。当你需要调试宏定义时,请使用-g3
 

二、gdb最常见的几个用法:

     1. 调试程序。有几种方法可以在gdb下运行你的程序:

        1)    gdb ${你的程序} 进入gdb后,输入run(简写r) ${arg1} ${arg2} … ${argN}

        2)    gdb --args ${你的程序} ${arg1} ${arg2} … ${argN} 进入gdb后,运行run。

        3)    gdb进入gdb后,输入file ${你的程序}。然后使用set args  ${arg1} ${arg2} … ${argN} 设定好你的程序参数,再运行run。

     2. 调试正在运行的程序:

        gdb ${你的程序} ${程序pid}

     3. 查core:

        gdb ${你的程序} ${core文件}
Referenced from:https://www.cnblogs.com/xsln/p/gdb_instructions1.html

代码如下:

/* Example code that uploads a file name 'foo' to a remote script that accepts
 * "HTML form based" (as described in RFC1738) uploads using HTTP POST.
 *
 * The imaginary form we will fill in looks like:
 *
 * <form method="post" enctype="multipart/form-data" action="examplepost.cgi">
 * Enter file: <input type="file" name="sendfile" size="40">
 * Enter file name: <input type="text" name="filename" size="30">
 * <input type="submit" value="send" name="submit">
 * </form>
 *
 */
 
#include <stdio.h>
#include <string.h>
 
#include <curl/curl.h>
 
int main(int argc, char *argv[])
{
  CURL *curl;
  CURLcode res;
 
  curl_mime *form = NULL;
  curl_mimepart *field = NULL;
  struct curl_slist *headerlist = NULL;
  static const char buf[] = "Expect:";
 
  curl_global_init(CURL_GLOBAL_ALL);
 
  curl = curl_easy_init();
  if(curl) {
    /* Create the form */
    form = curl_mime_init(curl);
 
    /* Fill in the file upload field */
    field = curl_mime_addpart(form);
    curl_mime_name(field, "sendfile");
    curl_mime_filedata(field, "postit2.c");
 
    /* Fill in the filename field */
    field = curl_mime_addpart(form);
    curl_mime_name(field, "filename");
    curl_mime_data(field, "postit2.c", CURL_ZERO_TERMINATED);
 
    /* Fill in the submit field too, even if this is rarely needed */
    field = curl_mime_addpart(form);
    curl_mime_name(field, "submit");
    curl_mime_data(field, "send", CURL_ZERO_TERMINATED);
 
    /* initialize custom header list (stating that Expect: 100-continue is not
       wanted */
    headerlist = curl_slist_append(headerlist, buf);
    /* what URL that receives this POST */
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/examplepost.cgi");
    if((argc == 2) && (!strcmp(argv[1], "noexpectheader")))
      /* only disable 100-continue header if explicitly requested */
      curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
    curl_easy_setopt(curl, CURLOPT_MIMEPOST, form);
 
    /* Perform the request, res will get the return code */
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));
 
    /* always cleanup */
    curl_easy_cleanup(curl);
 
    /* then cleanup the form */
    curl_mime_free(form);
    /* free slist */
    curl_slist_free_all(headerlist);
  }
  return 0;
}

一些说明,以及为什么要disable 100-continue

1)Expect: 100-continue的来龙去脉:

HTTP/1.1 协议里设计 100 (Continue) HTTP 状态码的的目的是,在客户端发送 Request Message 之前,HTTP/1.1 协议允许客户端先判定服务器是否愿意接受客户端发来的消息主体(基于 Request Headers)。

即, Client 和 Server 在Post (较大)数据之前,允许双方“握手”,如果匹配上了,Client 才开始发送(较大)数据。

这么做的原因是,如果客户端直接发送请求数据,但是服务器又将该请求拒绝的话,这种行为将带来很大的资源开销。

协议对 HTTP/1.1 clients 的要求是:

如果 client 预期等待“100-continue”的应答,那么它发的请求必须包含一个 " Expect: 100-continue" 的头域!

2)libcurl 发送大于1024字节数据时启用Expect:100-continue特性:

这也就是 Laruence 在 2011 年撰文所写的:

在使用 curl 做 POST 的时候,当要POST 的数据大于 1024 字节的时候,curl 并不会直接就发起 POST 请求,而是会分为两步:

  1. 发送一个请求,包含一个 "Expect:100-continue" 头域,询问 Server 是否愿意接收数据;
  2. 接收到 Server 返回的100-continue 应答以后,才把数据 POST 给Server;

这是 libcurl 的行为。

第一, libcurl在发送大于1024 字节的 POST 请求时采用了这种方法,但是相对的,它会引起请求延迟的加大。

第二,并不是所有的 web server 都能正确处理并应答“100-continue”,比如 lighttpd,就会返回417”Expectation Failed “,造成请求逻辑出错。

( 注1:lighttpd 1.4 版本有此严重问题,于1.5版本修复。注2:Resin 于 3.0.5 版本增加了对 Expect: 100-continue 的支持。)

3)PHP Curl-library 可以主动封禁此特性:

有人在 PHP手册::curl_setopt 下留言说:

PHP curl 遵从 libcurl 的特性。由于不是所有 web servers 都支持这个特性,所以会产生各种各样的错误。如果你遇到了,可以用下面的命令封禁"Expect"头域:

<?php
    curl_setopt($ch, CURLOPT_HTTPHEADER,array('Expect:'));
?>