• 关于

    数据发送什么意思

    的搜索结果

问题

memcache get 命令返回值 字段含义

get *"r"n *表示一个或多个使用空格分割的关键字字符串。 发送命令后,客户端等待返回一个或多个数据项,每个数据项的格式是一个文本行,后跟着一个数据块。当所有的数据项发送完毕后,服务器发送字符串”END"r"n”表示服务器反馈数...
a123456678 2019-12-01 20:13:16 986 浏览量 回答数 1

回答

(这个问题其实和考拉没啥关系) ajax发送请求的时候:发送的数据是不是json都一样,即使你发送的数据是json,也会被jquery(我猜你用的jquery,才会问这个问题)序列化成'a=1&b=2'的形式。这部分参见http协议和jquery ajax接受数据的时候:数据是不是json取决于你的后台返回什么,你可以返回json、html、xml、text... 不明欢迎再问,希望帮到你 ######回复 @297540134 : 哦我明白你的意思了。因为你用grid的时候,你不能操作ajax参数,所有你想传自己参数的唯一办法就是在url后面加“?a=1”这种参数了。你说的是对的######恩 ,我知道你说的意思了,不过数据表格中一般都是使用自己的数据,非静态数据,是通过ajaxUrl获得么?
kun坤 2020-05-29 12:05:13 0 浏览量 回答数 0

回答

用Android Studio,新建一个LoginActivity,然后自己看,官方的代码,嗯。 要是自己写的话,登录:两个EditText,用户名和密码,一个Button点击登录,点击事件为获取两个EditText的信息,发送post请求给服务器,等服务器验证,服务器怎么验证我们不管,交给写服务器的人去做了。其实也就是把你传给他的数据在数据库中查找,对应的用户名下密码是不是你传给他的。然后根据判断的结果给你返回一个信息,一般是json,然后约定好什么信息是什么意思,交给你解析出来,你判断结果是成功或者失败,成功的话就startAcitivity进入主页,否则就Toast提示密码错误之类的。 注册:一样的道理,按钮发送数据,服务器验证一下,再把你发送的信息存进数据库,然后返回给你结果,注册成功,或者用户已经存在注册失败,之类的结果。然后你再根据结果回调的接口startActivity啊Toast啊什么的。或者直接跳转到登录界面,也就是startAcitivity的Intent是你的登录界面,还可以穿进去一个刚刚注册的用户名(intent.putExtra())
爵霸 2019-12-02 02:06:14 0 浏览量 回答数 0

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

问题

关于mina的setSendBufferSize奇怪之旅 400 请求报错

事件回放 某天客户端要求说tcp包要小点,这样他开的buffer就小点 那我就找到acceptor.getSessionConfig().setSendBufferSize(int);这个方法设置发送byte buffer的大小,我把他设置...
kun坤 2020-05-29 11:00:09 2 浏览量 回答数 1

回答

location.href等于向服务器发送get请求,且浏览器地址栏的url会更改。 简单的说,这就是一个超链接,除非你把表单的参数写入到链接里,否则表单内容无法通过get请求去发送到服务器的。 js很杂很乱,你说的方法能够实现,但是真心推荐对于按钮的处理全部使用ajax######回复 @SeizeMissing : 通过ajax post数据到后台更新,然后在success方法中执行跳转页面 这个跳转的页面通过controller查询出更新后的数据并在页面上显示######回复 @开源中国首席大弟子 : 就是点击这个按钮我会更新数据,然后在另外一个页面显示更新的数据######回复 @SeizeMissing : 没懂你什么意思 你点击按钮是要做什么事情的?######回复 @开源中国首席大弟子 : 这样的话,数据跟新咋办?######回复 @SeizeMissing : 通过ajax请求数据 在成功返回结果解析后再使用js跳转到其他页面
爱吃鱼的程序员 2020-06-05 13:11:31 0 浏览量 回答数 0

问题

Redis Connection reset的问题

我在本地发送数据到远程的Redis服务器的时候报这样的错误: `redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Conne...
落地花开啦 2019-12-01 19:56:09 3319 浏览量 回答数 1

问题

nginx http的超时时间疑问

proxy_read_timeout 语法 proxy_read_timeout time 默认值 60s 上下文 http server location 说明 该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请...
yangguang33 2019-12-01 19:28:53 1244 浏览量 回答数 2

回答

一、ping基本使用详解 在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器IP 3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 我们通常会用它来直接ping ip地址,来测试网络的连通情况。 类如这种,直接ping ip地址或网关,ping通会显示出以上数据,有朋友可能会问,bytes=32;time<1ms;TTL=128 这些是什么意思。 bytes值:数据包大小,也就是字节。 time值:响应时间,这个时间越小,说明你连接这个地址速度越快。 TTL值:Time To Live,表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列。 默认情况下,Linux系统的TTL值为64或255,WindowsNT/2000/XP系统的TTL值为128,Windows98系统的TTL值为32,UNIX主机的TTL值为255。 因此一般TTL值: 100~130ms之间,Windows系统 ; 240~255ms之间,UNIX/Linux系统。 当然,我们今天主要了解并不是这些,而是ping的其它参考。 ping命令除了直接ping网络的ip地址,验证网络畅通和速度之外,它还有这些用法。 二、ping -t的使用 不间断地Ping指定计算机,直到管理员中断。 这就说明电脑连接路由器是通的,网络效果很好。下面按按住键盘的Ctrl+c终止它继续ping下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了。 三、ping -a的使用 ping-a解析计算机名与NetBios名。就是可以通过ping它的ip地址,可以解析出主机名。 四、ping -n的使用 在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知: 从以上我就可以知道在给47.93.187.142发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为32ms,最慢为55ms,平均速度为37ms。说明我的网络良好。 如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分,如果丢失的比较多的话,那么就说明网络不好,可以很直观的判断出网络的情况。 五、ping -l size的使用 -l size:发送size指定大小的到目标主机的数据包。 在默认的情况下Windows的ping发送的数据包大小为32byt,最大能发送65500byt。当一次发送的数据包大于或等于65500byt时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大,比如攻击者可以结合-t参数实施DOS攻击。(所以它具有危险性,不要轻易向别人计算机使用)。 例如:ping -l 65500 -t 211.84.7.46 会连续对IP地址执行ping命令,直到被用户以Ctrl+C中断. 这样它就会不停的向211.84.7.46计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可。 六、ping -r count 的使用 在“记录路由”字段中记录传出和返回数据包的路由,探测经过的 路由个数,但最多只能跟踪到9个路由。 ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录9个路由) 将经过 9个路由都显示出来了,可以看上图。 ping命令用的较多的就这6类的,大家有可能在项目中会用到的。 七、批量ping网段 对于一个网段ip地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,那个ip地址出了问题,一目了然。 先看代码,直接在命令行窗口输入: for /L %D in (1,1,255) do ping 10.168.1.%D IP地址段修改成你要检查的IP地址段。 当输入批量命令后,那么它就自动把网段内所有的ip地址都ping完为止。 那么这段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代码是什么意思呢? 代码中的这个(1,1,255)就是网段起与始,就是检测网段192.168.1.1到192.168.1.255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。
剑曼红尘 2020-03-23 15:44:54 0 浏览量 回答数 0

回答

Queue当读取失败应该还在的.直到有一个client接收了这个Message######我明白你的意思了.我刚才说JMS的接收数据,可能你误会了.我意思是Session session=conn.createSession(false,Session.Auto_AcKnowledge);后面是Auto,Client,Dups不是有三种方式吗?我意思是说这个JMS的机制,开发者肯定不用去手写代码返回信息.我意思是说JMS内部机制应该会从消费者端返回接收成功的信息给生产者吧?######回复 @震秦 : 汗,这个我肯定是知道的.我用的是JBOSS的HornetQ.现在是在试验我说的这种情况,因为会影响到后续的设计.######回复 @Credo : 你用的什么?Spring? 应该不需要你返回任何数据,jms有自己的协议知道消息是否成功消费。我用的activemq,没用过jboss还不了解你的情况。jms中queue和topic是不同的,希望你没弄错。######按照JMS的规则,是不是客户端接收后,还得返回个接收信息,JMS才会清楚掉刚才发送的那条信息?######嗯,下午我想法子试试.######泪流满面,只有你在帮我啊.
kun坤 2020-06-06 17:17:30 0 浏览量 回答数 0

回答

自增长不是主键生成策略的一种吗?你想问什么?回复 @一只懒羊羊7788:把showsql打开,看看发送的sql是什么自增长的数据类型是integer类型。主键生成策略是String类型。看看你在说啥呢?回复 @Gillian_Male:字面意思啊,我的表述有问题吗难道! JPA注解使用@ID标识主键在代码中自己生成唯一字符串设置主键就可以了
爱吃鱼的程序员 2020-06-08 21:28:48 0 浏览量 回答数 0

问题

关于JQGrid的问题.....postData? 400 报错

关于JQGrid的问题.....postData? 400 报错 var postData = $("#grid").jqGrid("getGridParam", "postData...
爱吃鱼的程序员 2020-06-03 13:54:21 1 浏览量 回答数 1

回答

引用来自“chentian08”的答案 引用来自“中山野鬼”的答案 引用来自“Jack.arain”的答案 MP3一般是1152个采样为一帧来编码的,知道采样率,声道,很容易计算出1秒多少帧。一般音频播放缓冲搞个1秒左右就够了。 单纯解码mp3也可以试试  mpg123。。。 貌似楼主这些概念还没有。哈。我到现在还不清楚,为什么他是做解码,而从数据流中取了 1024 * 24bits。 刚接接触这方面的知识,确实不太了解,你有这方面的学习资料或例子什么的,能不能发点给我或者加我QQ:735838956@qq.com。其实我的目的就是,想做个拥有MP3播放器功能的东西,然后又跟网络有点关系,想实现的功能主要有:本地MP3文件的播放,这个有很多方法,但是具体怎么实现,我真的想知道,我就是想在发送数据的时候,同时把它播放出来,结果就出现了上面提到的问题了; 发送MP3文件,这个应该就是先读取一个大小,再发送; 接收MP3数据,然后播放,这个应该就是接受到数据后,解码播放; 我 00年搞AC3 DSP算法优化时,碰过音频,后来就没碰了。你要看资料,先看标准吧。标准理解清楚还是必要的。如果标准中很多俗语或名词搞不清楚,那你还需要补充知识。 ######回调函数用用还是应该的。应该是回调机制没处理好。需要有定时器。指定时间间隔,处理,填BUF。另一种可能,源码有BUG,如果源码没问题,不会占用那么高的CPU。音频解码占用的计算资源很少的。 ###### 引用来自“中山野鬼”的答案 回调函数用用还是应该的。应该是回调机制没处理好。需要有定时器。指定时间间隔,处理,填BUF。另一种可能,源码有BUG,如果源码没问题,不会占用那么高的CPU。音频解码占用的计算资源很少的。 如果是你,你会怎么做,因为这些音频数据还要通过网络发出,除了一帧帧地读,我想不出其它办法,刚接触音频开发,请指点。 ###### 引用来自“chentian08”的答案 引用来自“中山野鬼”的答案 回调函数用用还是应该的。应该是回调机制没处理好。需要有定时器。指定时间间隔,处理,填BUF。另一种可能,源码有BUG,如果源码没问题,不会占用那么高的CPU。音频解码占用的计算资源很少的。 如果是你,你会怎么做,因为这些音频数据还要通过网络发出,除了一帧帧地读,我想不出其它办法,刚接触音频开发,请指点。 应该是网络接入吧。如果是网络发送自然是编码后数据,不会是PCM数据。不过从你的描述很奇怪。只有PCM数据才需要 24bits,1024作为一个block,已备频域处理。 如果是我做,至少开1s的解码BUF。无非是采样率最多X4个bytes。你觉得大吗?哈。 ###### 引用来自“中山野鬼”的答案 引用来自“chentian08”的答案 引用来自“中山野鬼”的答案 回调函数用用还是应该的。应该是回调机制没处理好。需要有定时器。指定时间间隔,处理,填BUF。另一种可能,源码有BUG,如果源码没问题,不会占用那么高的CPU。音频解码占用的计算资源很少的。 如果是你,你会怎么做,因为这些音频数据还要通过网络发出,除了一帧帧地读,我想不出其它办法,刚接触音频开发,请指点。 应该是网络接入吧。如果是网络发送自然是编码后数据,不会是PCM数据。不过从你的描述很奇怪。只有PCM数据才需要 24bits,1024作为一个block,已备频域处理。 如果是我做,至少开1s的解码BUF。无非是采样率最多X4个bytes。你觉得大吗?哈。 什么叫1s的解码BUF。1s是什么意思? ###### 引用来自“chentian08”的答案 引用来自“中山野鬼”的答案 引用来自“chentian08”的答案 引用来自“中山野鬼”的答案 回调函数用用还是应该的。应该是回调机制没处理好。需要有定时器。指定时间间隔,处理,填BUF。另一种可能,源码有BUG,如果源码没问题,不会占用那么高的CPU。音频解码占用的计算资源很少的。 如果是你,你会怎么做,因为这些音频数据还要通过网络发出,除了一帧帧地读,我想不出其它办法,刚接触音频开发,请指点。 应该是网络接入吧。如果是网络发送自然是编码后数据,不会是PCM数据。不过从你的描述很奇怪。只有PCM数据才需要 24bits,1024作为一个block,已备频域处理。 如果是我做,至少开1s的解码BUF。无非是采样率最多X4个bytes。你觉得大吗?哈。 什么叫1s的解码BUF。1s是什么意思? 1s==1秒钟。后面我已经给出公式了。采样率 X 4 bytes。当然这是一个通道的容量。 ###### MP3一般是1152个采样为一帧来编码的,知道采样率,声道,很容易计算出1秒多少帧。一般音频播放缓冲搞个1秒左右就够了。 单纯解码mp3也可以试试  mpg123。。。######        99%是代码或者做法有bug. 这种任务量感觉非常的少. 应该被秒杀才对.  现在的CPU很霸气的. 给逻辑的每一步加时间输出,  定位耗时点.###### 引用来自“Jack.arain”的答案 MP3一般是1152个采样为一帧来编码的,知道采样率,声道,很容易计算出1秒多少帧。一般音频播放缓冲搞个1秒左右就够了。 单纯解码mp3也可以试试  mpg123。。。 貌似楼主这些概念还没有。哈。我到现在还不清楚,为什么他是做解码,而从数据流中取了 1024 * 24bits。 ###### 引用来自“中山野鬼”的答案 引用来自“Jack.arain”的答案 MP3一般是1152个采样为一帧来编码的,知道采样率,声道,很容易计算出1秒多少帧。一般音频播放缓冲搞个1秒左右就够了。 单纯解码mp3也可以试试  mpg123。。。 貌似楼主这些概念还没有。哈。我到现在还不清楚,为什么他是做解码,而从数据流中取了 1024 * 24bits。 刚接接触这方面的知识,确实不太了解,你有这方面的学习资料或例子什么的,能不能发点给我或者加我QQ:735838956@qq.com。其实我的目的就是,想做个拥有MP3播放器功能的东西,然后又跟网络有点关系,想实现的功能主要有:本地MP3文件的播放,这个有很多方法,但是具体怎么实现,我真的想知道,我就是想在发送数据的时候,同时把它播放出来,结果就出现了上面提到的问题了; 发送MP3文件,这个应该就是先读取一个大小,再发送; 接收MP3数据,然后播放,这个应该就是接受到数据后,解码播放;
kun坤 2020-06-06 23:55:47 0 浏览量 回答数 0

问题

/sbin/nologin是什么意思?

刚学到这个概念,很不理解.这个shell最显著的特点是不能登录系统(比如用su或su -都被禁止,但能使用某些服务,比如ssh,ftp,mail等.我最不理解的就是这点,既然有/sbin/nologin的账号不能登录系统,那这些账号给谁用?...
a123456678 2019-12-01 20:07:36 2753 浏览量 回答数 1

问题

C++进阶【问答合集】

C++中 指针符号问题?https://yq.aliyun.com/ask/141578 数据结构 C++里空指针占存储空间吗?https://yq.aliyun.com/ask/123630 C++编程将10个不等长的字符串放在一个指...
马铭芳 2019-12-01 20:19:12 808 浏览量 回答数 1

回答

这个问题虽然只有两个2个动作:输入URL和呈现页面,但这背后发生了很多"有趣"的事情,这个过程也涉及到很多方面的技术,包括像浏览器、DNS、http、html、服务器等。如果让我来回答,它大致的过程应该是这样的:DNS解析-->建立连接,发送数据包 -->服务器响应请求,返回给浏览器-->浏览器渲染程序页面。 1.DNS解析 当我搜索这个问题的时候,首先在浏览器输入了一个URL地址,但URL中服务器地址是一个域名而不是一个指定的IP地址,路由器并不知道你想要查找的地址,那么DNS域名解析系统会将该域名解析成ip,而IP地址是唯一的, 每一个ip地址对应网络上的一台计算机 2.建立网络连接,发送数据包 由于1的努力,已经能够根据ip和端口号与网络上对应的服务器建立连接,浏览器这边会向服务器发送一个数据包,里面包含了大量的信息,但这个数据包有一定的格式。就像我给你邮个快递,也得遵循邮递公司的一些规则吧!我得写上我的身份信息、寄的物品、标明邮递地址....道理是一样的,到了网络中这些规则就是“Http协议(网络协议)”。 3.服务器响应请求,返回给浏览器 服务器会分解你的数据包,例如你查找的是一个文档,那么服务器可能会返回一个doc文档或者zip压缩资源给你;如果你访问的是一个链接页面,那么服务器相应的返回一个包含HTML/CSS标记文档,这些请求和响应都有一个通用的写法,这些规则也就是前面提到的"http协议"。客户端向服务器请求资源时,除了告诉服务器要请求的资源,同时还会附带一些其他的信息,这部分信息放在"header"部分(服务器响应请求也一样!),主要有请求头(略)和响应头, http响应头详解: Request URL:https://static.zhihu.com/static/revved/-/css/m.652b53b3.css Request Method:GET Status Code:200 OK (from cache) Remote Address:123.125.110.16:443 Response Headers accept-ranges:bytes //在整个返回体中本部分的字节位置 access-control-allow-origin://跨域请求,则允许所有域名的脚本访问该资源。 cache-control:max-age=600 //指定请求和响应遵循的缓存机制,当你请求头里设置no-cache时,是告诉服务器我这里没有缓存。响应头里这里设置的时间是600,意思浏览器600秒之内别来找我,自己去缓存找吧! content-encoding:gzip // web服务器支持的返回内容压缩编码类型为gzip,web服务器表明自己使用了什么压缩方法。 content-length:49207 //资源长度 content-type:text/css //告诉客户端,资源文件的类型,一般还有字符编码,例如charset=UTF-8,客户端将通过utf-8对资源进行解码,然后对资源进行html解析。 date:Mon, 07 Mar 2016 12:23:37 GMT//记录时间 expires:Mon, 07 Mar 2016 12:33:37 GMT //表明该实体将于什么时候过期 last-modified:Mon, 07 Mar 2016 07:19:19 GMT//请求资源的最后修改时间 server:nnws/1.7.3.6 //服务器信息,by the way!这是啥服务器? status:200 OK //状态码 version:HTTP/1.1 //http协议版本1.1 x-cache-lookup:Hit From MemCache Gz //查看服务器中是否有某个网页缓存,有则返回Hit,没有返回Miss看到http响应状态码我突然想到了404,= =!顺便带几个常见的: 100 Continue 继续,一般在发送post请求时,已发送了http、header之后服务端将返回此信息,表示确认,之后发送具体参数信息 200 OK 正常返回信息 201 Created 请求成功并且服务器创建了新的资源 301 Moved Permanently 请求的网页已永久移动到新位置。 400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。 404 Not Found 找不到如何与 URI 相匹配的资源。 500 Internal Server Error 最常见的服务器端错误。4.浏览器渲染呈现 浏览器拿到响应的页面代码,将其解析呈现在用户面前,至于为什么会是看到的这个样子,有时又是另外的一些页面效果,这里就涉及到web标准了,也就是我们经常提到的w3c标准。根据资源的类型,在网页上呈现给用户,这个过程叫网页渲染。解析和呈现的过程主要由浏览器的渲染引擎实现,浏览器的渲染引擎质量就决定了浏览器的好坏(引擎这一块已经超出了我的理解范围了)。
a123456678 2019-12-02 02:08:40 0 浏览量 回答数 0

问题

【百问百答】《Rocket MQ使用排查指南》

1、什么是消息队列Rocket MQ? 2、消息队列 RocketMQ版提供了哪些产品功能与特性? 3、消息队列 RocketMQ系统部署架构是怎样的? 4、消息队列 RocketMQ应用场景之削峰填谷是如...
Lee_tianbai 2021-01-05 14:19:13 12 浏览量 回答数 0

问题

分布式事务了解吗?你们是如何解决分布式事务问题的?【Java问答学堂】58期

面试题 分布式事务了解吗?你们是如何解决分布式事务问题的? 面试官心理分析 只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑...
剑曼红尘 2020-07-16 15:11:28 5 浏览量 回答数 1

回答

MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的一种协议。 MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。 它具有以下主要的几项特性:1、使用发布/订阅消息模式,提供一对多的消息发布和应用程序之间的解耦;2、消息传输不需要知道负载内容;3、使用 TCP/IP 提供网络连接;4、有三种消息发布的服务质量:QoS 0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。QoS 1:“至少一次”,确保消息可以到达,但消息可能会重复。QoS 2:“只有一次”,确保消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、 可变头(Variable header)、 消息体(payload)三部分构成。MQTT的传输格式非常精小,最小的数据包只有2个bit,且无应用消息头。下图是MQTT为可靠传递消息的三种消息发布服务质量 发布/订阅模型允许MQTT客户端以一对一、一对多和多对一方式进行通讯。 下图是MQTT的发布/订阅消息模式 CoAP协议 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词。由于目前物联网中的很多设备都是资源受限型的,所以只有少量的内存空间和有限的计算能力,传统的HTTP协议在物联网应用中就会显得过于庞大而不适用。因此,IETF的CoRE工作组提出了一种基于REST架构、传输层为UDP、网络层为6LowPAN(面向低功耗无线局域网的IPv6)的CoAP协议。 CoAP采用与HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。ACK——应答消息,接受到CON消息的响应。RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。 CoAP消息格式使用简单的二进制格式,最小为4个字节。 一个消息=固定长度的头部header + 可选个数的option + 负载payload。Payload的长度根据数据报长度来计算。 主要是一对一的协议 举个例子: 比如某个设备需要从服务器端查询当前温度信息。 请求消息(CON): GET /temperature , 请求内容会被包在CON消息里面响应消息 (ACK): 2.05 Content “22.5 C” ,响应内容会被放在ACK消息里面 CoAP与MQTT的区别 MQTT和CoAP都是行之有效的物联网协议,但两者还是有很大区别的,比如MQTT协议是基于TCP,而CoAP协议是基于UDP。从应用方向来分析,主要区别有以下几点: 1、MQTT协议不支持带有类型或者其它帮助Clients理解的标签信息,也就是说所有MQTT Clients必须要知道消息格式。而CoAP协议则相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。 2、MQTT是长连接而CoAP是无连接。MQTT Clients与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。如果在NAT环境下使用CoAP的话,那就需要采取一些NAT穿透性手段。 3、MQTT是多个客户端通过中央代理进行消息传递的多对多协议。它主要通过让客户端发布消息、代理决定消息路由和复制来解耦消费者和生产者。MQTT就是相当于消息传递的实时通讯总线。CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议。 HTTP协议http的全称是HyperText Transfer Protocol,超文本传输协议,这个协议的提出就是为了提供和接收HTML界面,通过这个协议在互联网上面传出web的界面信息。 HTTP协议的两个过程,Request和Response,两个都有各自的语言格式,我们看下是什么。请求报文格式:(注意这里有个换行) 响应报文格式:(注意这里有个换行) 方法method:       这个很重要,比如说GET和POST方法,这两个是很常用的,GET就是获取什么内容,而POST就是向服务器发送什么数据。当然还有其他的,比如HTTP 1.1中还有:DELETE、PUT、CONNECT、HEAD、OPTIONS、TRACE等一共8个方法(HTTP Method历史:HTTP 0.9 只有GET方法;HTTP 1.0 有GET、POST、HEAD三个方法)。请求URL:       这里填写的URL是不包含IP地址或者域名的,是主机本地文件对应的目录地址,所以我们一般看到的就是“/”。版本version:       格式是HTTP/.这样的格式,比如说HTTP/1.1.这个版本代表的就是我们使用的HTTP协议的版本,现在使用的一般是HTTP/1.1状态码status:       状态码是三个数字,代表的是请求过程中所发生的情况,比如说200代表的是成功,404代表的是找不到文件。原因短语reason-phrase:       是状态码的可读版本,状态码就是一个数字,如果你事先不知道这个数字什么意思,可以先查看一下原因短语。首部header:       注意这里的header我们不是叫做头,而是叫做首部。可能有零个首部也可能有多个首部,每个首部包含一个名字后面跟着一个冒号,然后是一个可选的空格,接着是一个值,然后换行。实体的主体部分entity-body:       实体的主体部分包含一个任意数据组成的数据块,并不是所有的报文都包含实体的主体部分,有时候只是一个空行加换行就结束了。 下面我们举个简单的例子: 请求报文:GET /index.html HTTP/1.1    Accept: text/*Host: www.myweb.com 响应报文:HTTP/1.1 200 OKContent-type: text/plainContent-length: 3  HTTP与CoAP的区别 CoAP是6LowPAN协议栈中的应用层协议,基于REST(表述性状态传递)架构风格,支持与REST进行交互。通常用户可以像使用HTTP协议一样用CoAP协议来访问物联网设备。而且CoAP消息格式使用简单的二进制格式,最小为4个字节。HTTP使用报文格式对于嵌入式设备来说需要传输数据太多,太重,不够灵活。 XMPP协议 XMPP(可扩展通讯和表示协议)是一种基于可扩展标记语言(XML)的协议, 它继承了在XML环境中灵活的发展性。可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。   基本网络结构 XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。 服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统 的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过 TCP/IP连接到单服务器,然后在之上传输XML。 功能 传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。举个例子看看所谓的XML(标准通用标记语言的子集)流是什么样子的?客户端:123456<?xmlversion='1.0'?>to='example_com'xmlns='jabber:client'xmlns:stream='http_etherx_jabber_org/streams'version='1.0'>服务器:1234567<?xmlversion='1.0'?>from='example_com'id='someid'xmlns='jabber:client'xmlns:stream='http_etherx_jabber_org/streams'version='1.0'>工作原理XMPP核心协议通信的基本模式就是先建立一个stream,然后协商一堆安全之类的东西, 中间通信过程就是客户端发送XML Stanza,一个接一个的。服务器根据客户端发送的信息 以及程序的逻辑,发送XML Stanza给客户端。但是这个过程并不是一问一答的,任何时候 都有可能从一方发信给另外一方。通信的最后阶段是关闭流,关闭TCP/IP连接。  网络通信过程中数据冗余率非常高,网络流量中70% 都消耗在 XMPP 协议层了。对于物联网来说,大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备,省电、省流量是所有底层服务的一个关键技术指标,XMPP协议看起来已经落后了。 SoAP协议 SoAP(简单对象访问协议)是交换数据的一种协议规范,是一种轻量的、简单的、 基于可扩展标记语言(XML)的协议,它被设计成在WEB上交换结构化的和固化的信息。  SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP), 简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到 远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议 (HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。 总结: 从当前物联网应用发展趋势来分析,MQTT协议具有一定的优势。因为目前国内外主要的云计算服务商,比如阿里云、AWS、百度云、Azure以及腾讯云都一概支持MQTT协议。还有一个原因就是MQTT协议比CoAP成熟的要早,所以MQTT具有一定的先发优势。但随着物联网的智能化和多变化的发展,后续物联网应用平台肯定会兼容更多的物联网应用层协议。 作者:HFK_Frank 来源:CSDN 原文:https://blog.csdn.net/acongge2010/article/details/79142380 版权声明:本文为博主原创文章,转载请附上博文链接!
auto_answer 2019-12-02 01:55:21 0 浏览量 回答数 0

问题

【精品问答】智能语音交互

常见问题 “流式”模式和“非流式”模式识别的区别? https://developer.aliyun.com/ask/278746 语音识别服务支持哪些编码格式的音频? https://developer....
montos 2020-04-09 09:57:02 12 浏览量 回答数 1

问题

【Java问答学堂】4期 如何保证消息的可靠性传输?(如何处理消息丢失的问题?)

面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞...
剑曼红尘 2020-04-21 10:04:26 105 浏览量 回答数 2

问题

阿里云-小程序云

阿里云-小程序云 设备重复收到消息,如何去重? 物联网平台是否会保存消息? 服务器端如何获取设备消息? 配置了MNS服务端订阅。但在控制台上发送消息,MNS的队列中并没...
问问小秘 2020-04-07 18:45:54 24 浏览量 回答数 1

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 本次活动特邀百位阿里技术专家对Java常...
管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19

问题

[精品问答]Java一百问第一期

java之父高斯林,Java的缔造者。 而Java发展至今,使用者已占领市场七成。 动心者仍在观望,使用者“爱恨交加” 以下是为每一个java使用者整理的灵魂百问,大部分都是踩坑经验...
问问小秘 2019-12-01 21:51:20 791 浏览量 回答数 1

回答

感觉和线程没有关系! 本质上没有好处理数据粘包。 直接用 int toString 这个不科学。0000-9999的数字。 后面readByte(99) 这样就可以返回对应长度的数据了吗? buf.readableBytes()<length+4 手机端不能使用 < 符号呀,。后面的内容都被替换掉了 ######回复 @wzfz : 有问题的吧 我换成每次都new一个就好了。######回复 @薛泽群 : 共用一个时没有问题的,比如servlet的单例多线程######我发现问题了,其实是我的服务端new的一个decoler只new了一次,意思就是所有的线程都共享了一个decoler,必须为每一个线程new一个decoder。 ChannelPipeline p = Channels.pipeline(); p.addLast("frameDecoder", new MsgDecoder(charset, 65540));###### 方法单线程没有问题,多线程或出现数据错乱的问题 加个 synchronized 不让并发访问试试 ######我也用过,但是会发现有些数据接收不到,好奇怪,不知道为什么。######在你这个解码器之前在增加一个 new LengthFieldBasedFrameDecoder 这个解码器 这样就可以解决掉你的问题 这个就是处理粘包和分包的 ######恩 我试过可以,但是客户端那边必须要先发一个长度,再发报文过来? 有解码器可以直接发送报文,报文里面有长度+报文内容,有这样的解码器吗?######这个解码器需要你自己来写,多长的内容,解码出什么对象 要根据自己的设计来实现
kun坤 2020-06-07 16:37:28 0 浏览量 回答数 0

回答

问题解决方法: 解决楼主的问题很简单,在FileZilla客户端中设置连接模式为被动模式,应该就可以访问FTP服务器了。 原因分析: 从楼主的截图上可以知道,楼主你的ECS服务器是作为FTP的客户端来访问其他的FTP服务器的,FTP客户端使用的是FileZilla。 楼主不应该使用主动模式,而应该使用被动模式去连接FTP服务器的。 FTP连接模式分为主动(Acitve或PORT)模式和被动(Passive)模式,这里的主动和被动,指的是FTP Server建立文件传输数据的行为。 当FTP客户端命令(Command)通道连接上FTP服务器后,在传输数据时需要建立数据(Data)通道,这时候根据FTP的行为分成两类: FTP主动(Acitve或PORT)模式:客户端发送一个(PORT ip地址 端口)命令到服务器,由服务器来连接客户端的在命令中指定的port(ip地址 端口)。 FTP被动(Passive)模式:客户端发送一个PASV 命令到服务器,服务器返回ip地址和端口,客户端去连接对应的ip地址和端口。 从楼主的截图中可以看到,你的客户端发出了一条PORT 192,168,1,100,207,224,意思是要服务器来连接你的客户端(192.168.1.100, 207*255+224),首先192.168.1.100是一个内网网段,服务器不可能可以连接到这个ip地址(除非你的ECS机器和FTP服务器在同一个内网网段)。 最后总结一下: 1)如果不是必须需要,不要使用FTP服务,主动/被动模式,命令/数据端口,初学者很容易一下子就被搞蒙。 2)如果要使用FTP服务,在今天的互联网环境里面,使用FTP被动模式进行连接和传输,不要使用主动模式,除非你真的知道你在做什么。
云语科技 2019-12-02 00:07:43 0 浏览量 回答数 0

回答

我想了下,其实应该这样。比如现在有A(私钥A、公钥A),B(私钥B、公钥B) ,A向B发送消息,用私钥A加签、用公钥B加密,发送给B,B用私钥B解密,然后用公钥A验签。这样就可以解决上述2个问题。如果单纯的使用RSA只进行加密不签名的话,我认为是不安全的。######你这样的说法也是对的,这种叫双向认证。 A拥有A私钥、B公钥;B拥有A公钥、B私钥,这种一般用在最高级别的时候,一般很少这么用。######私钥加密用于数字签名,你对内容私钥加密,表示这内容版权归你 公钥加密用于防止信息被别人看到,只有持有私钥的人才能解密,如邮件加密发送给对方######回复 @开源中国总书记 : 老哥你这个脑瓜子真的是,A用C的公钥加密发送给C,B也用C公钥加密伪装成A发送C,你的意思是如何判断A是不是真正的A吧?首先A和C直接的通信内容只有A和C知道,A在加密的内容里面定义一串只有两个人知道的内容不就好了,例如123,C解密报文以后只要看内容中是否有123就知道是不是真正的A发的内容,B即使有C的公钥,但是不知道A和C之间通信的内容。######私钥加密的话,因为公钥是公开的,别人有可能拿到,也就是说,可以解密你的报文。 公钥加密的话,确实是只有拥有私钥的人才能解密,但是不能保证请求就是指定系统的。######私钥加密公钥解密防止发送信息中途呗篡改,公钥加密私钥解密防止信息中途被截获泄露。######还是不能解决我说的上边的2个问题###### 你举的例子 1,是用于身份验证的,你说它不能用于加密通讯。 你举的例子 2,是用于加密通讯的,你说它不能用于身份验证。 这其中的逻辑就好比,筷子不能用来喝汤,吸管不能用来吃饭,所以人发明这两种工具都没有意义吗?######回复 @开源中国总书记 : 公钥加密私钥解密,你怎么模拟我的报文,每个人公钥的拥有者都会有自己的身份ID,比如https的session之类的,你既不能获取我的身份Id,也不能获取我发送的报文内容,你怎么模拟,你自己用公钥生成的报文那不叫模拟,那是你用自己的身份做的事。 私钥加密公钥解密,这种主要是用于签名,信息是公开的,谁都可以看到,但是签名的作是为了让你知道这个信自己确定是我给你的######我的意思是,如果单纯用RSA加密的话不安全。###### "1、如果是私钥加密,公钥解密的话,因为公钥是公开出来的,所以拿到公钥的人 ,是可以解密报文的,我认为这种加密方式没意义。"   你理解有误. 这种场景是用作签名的, 就是校验信息发送者身份. 只有通过特定私钥的的信息才能被公开出来的公钥解密. 这就唯一确定了信息发送者, 达到签名(不可抵赖)的目的.  "2、如果是公钥加密,私钥解密的话,因为公钥是公开出来的,所以系统是无法识别请求就是指定系统发送的,也就是别人是可以模拟你的报文,请求你的系统。"   这种场景是做信息加密用. 发送者A通过公钥加密信息, 只有持有私钥的人C才能解密. 保证了被发送的信息不会被第三方知晓. 而B通过模拟报文的攻击方式并不是修改了A的信息, 而是B"假扮"A向系统发信息. 这种情况并不是A的密文被破解, 而是B在欺骗C, 所以不属于RSA算法漏洞.  同时, 要预防这类欺骗只需利用场景1的方式, 由A使用另外一套RSA密钥对信息签名即可. 此时B即使知晓了A要发送的原文, 由于没有A的密钥 C也无法使用公钥解密出数据. 达到了既不可篡改, 又不可抵赖的目的.  ######回复 @开源中国总书记 : 即便第三者知道报文格式, 通过公钥仿制一个报文请求系统, 这种情况也不是RSA的问题. RSA还是很好的保护了通信者之间的信息. 第三方如无密钥, 无法得知通信内容. 签名只是对RSA的活用,相当于对密文的再次加密. 要解决这种欺骗问题, 还可以通过诸如约定token来实现. 因为通信内容不可被第三方获取, 故可在报文中加入身份验证信息token来实现防骗.######回复 @开源中国总书记 : 所以需要签名啊. 使用场景1 的方式签名就可以防止这种欺骗了. 一共有两套密钥. 第一套做签名, 第二套做加密. 这样无论第三者是否知道报文格式, 都无法欺骗到系统了.######我的意思是:如果我知道你的报文结构,因为公钥是公开的,我可以使用公钥加密模拟报文请求你的系统,并不是说要篡改数据###### 加密是为了加密内容,防止别人窃据你的信息 你说的2是权限控制应该做的东西###### 发送方用接收方的公钥加密,然后用自己的私钥进行签名,然后发送消息 接收方用发送方的公钥验证发送方身份,然后用自己的私钥解密######因为发送方和接收方的公钥都公开了,还是不能解决上述2个问题###### 1上面有人说了是用来证明代码/软件所有权的,比如有人做了个木马,试图伪装成微软的程序骗过杀毒软件,可是他没有微软的私钥,无法对木马程序进行签名,也就没办法伪装成微软的程序 2既然是加密的信息别人都不知道你的报文内容怎么伪造呢,就算邪恶第三方知道你的报文格式,只要你在报文里加上一个双方提前商量好的口令就可以阻止第三方伪造报文,因为第三方不可能知道口令是什么######1、签名是可以的,这个没问题 2、你说的口令,这个口令怎么保证安全?###### 1.用于签名认证 2.并不是用于身份认证的,参考HTTPS客户端发送数据###### 两个都是有意义的。 1.私钥加密,公钥解密;用于数字签名方向。私钥-公钥是一对一的关系,使用私钥加密的值,只能用对应的公钥解开,可以验证持有者身份(即私钥表示一个身份)。 2.公钥加密,私钥解密;用于数字信封方向。对方使用公钥加密的结果,只能用对应的私钥解开,可以发送给特定持有者一些私密的消息。 你说的模拟报文,进行请求;是可以进行的。 如果要验证对方身份信息,建议使用SSL的双向验证功能######签名是没问题的。如果单纯的公钥加密,私钥解密,是不能保证请求是别人模拟的。 我想了下,其实应该这样。比如现在有A(私钥A、公钥A),B(私钥B、公钥B) ,A向B发送消息,用私钥A加签、用公钥B加密,发送给B,B用私钥B解密,然后用公钥A验签。这样就可以解决上述2个问题。
爱吃鱼的程序员 2020-06-01 11:29:18 0 浏览量 回答数 0

回答

你这要逆天了######Dreamweaver和ogEditor 不多是HTML编辑的吗?######无法实现么?######手机浏览器无法根据你的页面上按钮发送意图(intent),就无法调用其他应用程序。 ######回复 @迷途d书童 : 不是很明白呢?还有我们浏览器打字的时候也会调用输入法 这个原理是什么呢?######回复 @yj5858 : 浏览器内封装了对url文件的检测,自动发了intent。######回复 @迷途d书童 : 非常感谢这个可以了,不过就是我追问的那个问题,哥们知道为什么么?就是可以调用uc迅雷?######回复 @yj5858 : 把第一个activity获取到的数据传给第二个activity,第二个activity将数据用?传参形式,加在要跳转web页面的url后面。######回复 @迷途d书童 : 对就是这个意思######http://hzhlu.iteye.com/blog/1806374###### 这个是果断可以的,前提是那些程序中有已知的scheme,可以看一下 AndroidManifest IntentFilter data android:scheme ######学习了,真心不知道还有这玩意
爱吃鱼的程序员 2020-06-01 13:34:08 0 浏览量 回答数 0

回答

这个就是普通的用户表,加个会员flag标志就行了嘛。不过最好是搞成2张表,一张用户基本表,另一张为会员表。 用户基本表字段:用户id、用户账号(手机/邮箱)、密码、用户昵称(你要求昵称可以登录,那这个字段必须设置成唯一,很少有用这个登录的哈)、性别、年龄、所在地、会员flag等。 用户会员表:用户id、会员积分、积分类型Id(外键)、进/出分flag、备注、会员开始时间、会员结束时间等。 验证手机号、邮箱可以使用正则表达式,验证昵称就只能进行查询了。 ######我的想法跟你不一样 既然我 手机号。email。昵称都可以注册。那么我就设置为3个唯一字段,3个都可以登陆。 昵称登陆也很正常啊,为什么不正常? 而且你这个基本字段表字段太多。。######基本表就是登陆表了,会员表映射过来 通过uid 然后会员的详细信息###### 没啥区别  有3个字段    ######我的意思也是要建立 3个唯一字段。 就是如果登陆的时候 还是要判断一遍,用户输入的是哪个字段类型,然后进行查询,然后对应用户输入什么密码。 如果手机登录,输入验证码。 如果email登陆和昵称登陆,要密码###### 没问清楚  是数据库设计 还是  页面表单设计?? ######DB设计###### 页面设计: 用户名的框  在用户写完后 马上验证是什么(手机/邮箱/昵称)   如果是手机或邮  下面动态显示出验证代码的输入框(注意旁边要有倒数秒和重新发送)    后面就是常规的  密码 验证码什么的输入框了; 关于验证: 邮箱    直接向邮箱发验证代码;让用户回填; 手机: 想手机发送验证代码;
kun坤 2020-06-06 13:37:47 0 浏览量 回答数 0

问题

荆门开诊断证明-scc

(微)电〗【186-6605-3854〗号【精品问答】Java技术1000问(1) 问问小秘 2019-11-15 11:24:15 9099 为了方便Java开发者快速找到相关技术问题和答案,开发...
游客5k2abgdj3m2ti 2019-12-01 22:09:00 1 浏览量 回答数 0

回答

客户端没携带cookies,开发接口不用session######android没开启cookie吧?######session机制你还是没理解了啊,如果非得用session的话,初次请求后,你给an返回sessionid,下次an请求的时候顺便把这个sessionid也传输过去,php那边获取到设置下sessionid就行了,不建议这样做;你放到缓存不就行了啊;######回复 @CHwithkey : 不是啊;######放到缓存是什么意思?是指在PHP端将接收的消息放到cookie里面?######没开cookie也可以每次携带一个seesion id。 ######回复 @CHwithkey : 放URL里面可以,或者放在post参数里面也可以!######携带的session id是放在url里面吗,我是用http client来进行交流的.######传递过来的参数里面带sid######用开放平台那套,自己签名啊 ######自己签名是什么意思?######想了解php端到底怎么保存android端发送的值。在单纯使用Http client而不是json的情况下。###### php怎么接收android传过来的数据  求代码######不好意思,代码已经丢失了而且也不碰这个东西很久了。这个是我当时做的笔记,“……当android端将账户和密码传递给PHP服务端,PHP服务端通过一个叫做$_POST的超级变量,根据传送的“id”接收并提取相关数值……”。然后回传给android的话就用echo好像就可以了。不知道帮不帮的上什么忙
kun坤 2020-06-06 23:44:35 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板