问题解决了!是少了个文件了!
点赞  2015-5-27 10:07
引用: 蓝雨夜 发表于 2015-5-27 10:07
问题解决了!是少了个文件了!

解决了就好 :)
加油!在电子行业默默贡献自己的力量!:)
点赞  2015-5-27 10:24
@chenyy 你说的很对,一个谦虚的人在别人指出你可能存在的不足的时候,不是第一时间问为什么这样说,不足在哪里,而是自以为自己为初学者考虑跑来“请问版主:还没学会走,能跑起来吗?”吗? 既然大家都能看,我就说我的理由 @gsjzbj: 1、httpserver的核心是引擎,文章里弄一堆“开始->初始化开发版->引脚复用配置->熄灭LED->...." 好吧,核心不说,告诉初学者httpserver开始熄灭LED创建SLS任务了!我还是那句话,只说样章给出的内容,仅仅是就代码论代码,作者自己可能都没搞清楚几个问题:http server最核心的是http解析过程,生命周期和状态切换(引发的回调),这芯片是怎么处理的?__SL_P_等东西什么时候处理的?怎么处理的?各个callback的调用时机是怎么样的,这些状态可以怎么使用,各个struct的生命周期等等。 2、>>>"浏览 CC3200 的默认主页 mysimplelink.net,并用网页与 CC3200 通信", “网页接收到5个接入点名称后,将它们显示在网页中供用户选择”等等吧不一一列举. 基本常识错了知道吗?知道html渲染吗?谁渲染的?网页吗?知道的话会写网页接受数据,用网页通讯?你模糊的地方可以不写,但乱写,就是你乱教。 3、>>>"设备接收到 HTTP 请求发送的数据后,产生 SL_NETAPP_HTTPPOSTTOKENVALUE_ EVENT 事件,并调用 SimpleLinkHttpServerCallback()进行处理" >>>设备接收到 GET 令牌后产生 SL_NETAPP_HTTPGETTOKENVALUE_ EVENT(HTTP GET 令牌数据事件) 知道服务端变量吗?token在这里不是通讯里令牌的意思,自然就不是设备接受令牌的意思,http的基础是文本解析,token在这里是指文本解析中的字面量literal,用来做dynamic html的,好吧,产生这个事件是因为http引擎根据固定模式(__SL_P这种,因为CC3200毕竟是嵌入式系统,模式固定简化服务的处理,这也是为什么手册里有专门一小结来告诉你这种变量该怎么定义)识别出这是一个服务端变量,而这个服务端变量又不是系统定义的内部变量,它自己无法告诉你你要的数据,需要人工参与,所以整了HTTPGETTOKENVALUE来让你添数据,这也是我前面说的http引擎为什么需要说,哪怕简单的说的原因。你模糊的地方可以不写,但乱写,就是你乱教。 4、>>>当在手机或笔记本电脑上打开网页 profiles_config.html 时,网页依次发出用户 GET 令牌“__SL_G_US1~5”。 这是最基本的常识错误。浏览器首先用http协议请求profiles_config.html这个资源,服务端(也就是cc3200里面的http server)在rom或flash里找到这个资源。然后服务器做文本解析,类似C编译器的第一个步骤,一个token一个token的解析,寻找上面说的固定格式,比如__SL_G_US1~5,对所有找到的服务端变量(固定格式)进行变量替换(当然不是简单的变量替换,这里借用这个词形象化),系统定义的当然系统就处理了,用户定义的如__SL_G_US1~5,当然它找不到它的value值,这时候用HTTPGETTOKENVALUE来让你添数据,这也是为什么系统定义的服务端变量不会触发HTTPGETTOKENVALUE这个回调的原因,填好之后在资源中__SL_G_US1~5占位符这里做文本替换,替换成你给的值,最后打包成一个html静态内容(也可能是字符流形式)再按字符填充到response body返回浏览器。为什么要把数据转成文本添也是这个原因:html的基础是文本。 好了,那么是“网页依次发出用户 GET 令牌 “__SL_G_US1~5”“呢?还是服务器填充__SL_G_US1~5作为html响应返回给浏览器呢?你模糊的地方可以不写,但乱写,就是你乱教。 5、httprequest 10年前这是清晰的牛逼的,10后的今天这就是乱七八糟的,你可以不会也可以不写,但不要引导初学者一个过时的东西,应用技术过时了能干嘛?真是为初学者考虑? 6、以上http解析的框架过程很复杂吗?以上描述也就1,200个字吧,有谁看不懂的?所以别用初学者做借口,也不要把读者定位成看不懂的傻瓜。 7、@chenyy 管理员,我不谦虚,这篇干货回复没有异议的话是否应该加分呢? 多加点啊,加满 本帖最后由 freebsder 于 2015-5-28 02:04 编辑
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-28 00:42
引用: freebsder 发表于 2015-5-28 00:42
@chenyy 你说的很对,一个谦虚的人在别人指出你可能存在的不足的时候,不是第一时间问为什么这样说,不足在哪里,而是自以为自己为初学者考虑跑来“请问版主:还没学会走,能跑起来吗?”吗?

既然大家都能看,我就说我的理由 @gsjzbj:

1、httpserver的核心是引擎,文章里弄一堆“开始->初始化开发版->引脚复用配置->熄灭LED->...." 好吧,核心不说,告诉初学者httpserver开始熄灭LED创建SLS任务了!我还是那句话,只说样章给出的内容,仅仅是就代码论代码,作者自己可能都没搞清楚几个问题:http server最核心的是http解析过程,生命周期和状态切换(引发的回调),这芯片是怎么处理的?__SL_P_等东西什么时候处理的?怎么处理的?各个callback的调用时机是怎么样的,这些状态可以怎么使用,各个struct的生命周期等等。

2、>>>"浏览 CC3200 的默认主页 mysimplelink.net,并用网页与 CC3200 通信", “网页接收到5个接入点名称后,将它们显示在网页中供用户选择”等等吧不一一列举.
基本常识错了知道吗?知道html渲染吗?谁渲染的?网页吗?知道的话会写网页接受数据,用网页通讯?你模糊的地方可以不写,但乱写,就是你乱教。

3、>>>"设备接收到 HTTP 请求发送的数据后,产生 SL_NETAPP_HTTPPOSTTOKENVALUE_
EVENT 事件,并调用 SimpleLinkHttpServerCallback()进行处理"
>>>设备接收到 GET 令牌后产生 SL_NETAPP_HTTPGETTOKENVALUE_ EVENT(HTTP GET 令牌数据事件)
知道服务端变量吗?token在这里不是通讯里令牌的意思,自然就不是设备接受令牌的意思,http的基础是文本解析,token在这里是指文本解析中的字面量literal,用来做dynamic html的,好吧,产生这个事件是因为http引擎根据固定模式(__SL_P这种,因为CC3200毕竟是嵌入式系统,模式固定简化服务的处理,这也是为什么手册里有专门一小结来告诉你这种变量该怎么定义)识别出这是一个服务端变量,而这个服务端变量又不是系统定义的内部变量,它自己无法告诉你你要的数据,需要人工参与,所以整了HTTPGETTOKENVALUE来让你添数据,这也是我前面说的http引擎为什么需要说,哪怕简单的说的原因。你模糊的地方可以不写,但乱写,就是你乱教。

4、>>>当在手机或笔记本电脑上打开网页 profiles_config.html 时,网页依次发出用户 GET 令牌“__SL_G_US1~5”。
这是最基本的常识错误。浏览器首先用http协议请求profiles_config.html这个资源,服务端(也就是cc3200里面的http server)在rom或flash里找到这个资源。然后服务器做文本解析,类似C编译器的第一个步骤,一个token一个token的解析,寻找上面说的固定格式,比如__SL_G_US1~5,对所有找到的服务端变量(固定格式)进行变量替换(当然不是简单的变量替换,这里借用这个词形象化),系统定义的当然系统就处理了,用户定义的如__SL_G_US1~5,当然它找不到它的value值,这时候用HTTPGETTOKENVALUE来让你添数据,这也是为什么系统定义的服务端变量不会触发HTTPGETTOKENVALUE这个回调的原因,填好之后在资源中__SL_G_US1~5占位符这里做文本替换,替换成你给的值,最后打包成一个html静态内容(也可能是字符流形式)再按字符填充到response body返回浏览器。为什么要把数据转成文本添也是这个原因:html的基础是文本。
好了,那么是“网页依次发出用户 GET 令牌 “__SL_G_US1~5”“呢?还是服务器填充__SL_G_US1~5作为html响应返回给浏览器呢?你模糊的地方可以不写,但乱写,就是你乱教。

5、httprequest 10年前这是清晰的牛逼的,10后的今天这就是乱七八糟的,你可以不会也可以不写,但不要引导初学者一个过时的东西,应用技术过时了能干嘛?真是为初学者考虑?

6、以上http解析的框架过程很复杂吗?以上描述也就1,200个字吧,有谁看不懂的?所以别用初学者做借口,也不要把读者定位成看不懂的傻瓜。

7、@chenyy  管理员,我不谦虚,这篇干货回复没有异议的话是否应该加分呢? 多加点啊,加满

回复很“干”!

下次你在论坛里出些文章供我们菜鸟学习下呀!

不然,TI给个代码,我们根本不知道如何灵活运用,分析这个技术要点在什么地方!
我们该搜寻那些资源,拿过来学习,看什么书!  可以提供个方向也可以的!
点赞  2015-5-28 07:56
引用: 蓝雨夜 发表于 2015-5-28 07:56 回复很“干”! 下次你在论坛里出些文章供我们菜鸟学习下呀! 不然,TI给个代码,我们根本不知道如何灵活运用,分析这个技术要点在什么地方! 我们该搜寻那些资源,拿过来学习,看什么书! 可以提供个方向也可以的!
写文章要论证很多东西太耗精力,有问题提论坛上吧,尽力帮大家,当唠嗑比当写东西轻松。 ps:你是菜鸟的话,那就没人不菜了 本帖最后由 freebsder 于 2015-5-28 13:51 编辑
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-28 13:34
引用: freebsder 发表于 2015-5-28 13:34
写文章要论证很多东西太耗精力,有问题提论坛上吧,尽力帮大家,当唠嗑比当写东西轻松。


ps:你是菜鸟的话,那就没人不菜了

HTTP好多都不懂!

现在都是百度看html语法是什么意思!

按例子,照葫芦画瓢,一遇到问题就OVER了
点赞  2015-5-28 14:16
引用: 蓝雨夜 发表于 2015-5-28 14:16
HTTP好多都不懂!

现在都是百度看html语法是什么意思!

按例子,照葫芦画瓢,一遇到问题就OVER了

html不复杂,我也是查百度,记不得那么多标签。整个东西要顺利的跑起来确实涉及一些内容,包括你在 https://bbs.eeworld.com.cn/forum. ... 0401&fromuid=551466 提到的东西,有时间帮大家整理一下吧,也算是支持 @soso 这板块。板块分散信息不集中,平时不怎么看。
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-29 01:16
@freebsder:来而不往非礼也,费了这么大精力写了这么多,咱总得有点反应吧。
首先,有些地方你说对了,我的书就是从应用角度分析TI的例程,没有进行更深层次的分析,不是没那水平,只是没有更多的精力和时间,有些说法可能不专业,有点误人子弟了。
至于httprequest,是TI的例程中用了,我只是分析。TI例程中不止用了httprequest,还用了jQuery.ajax(),WebSocket和MQTT等,这些不算过时吧,相关分析将在提高篇中介绍。
看来你上学时是个勤奋好学的好学生,现在像你这样的好学生越来越少了,只是脾气好像稍微大了点。我的脾气以前也比较大,现在已经越来越没有脾气了。
刚刚拜读了你的新作:CC3200做节点的web服务,可能我基础太差,没完全看明白,暂不做评论。
点赞  2015-5-30 16:27
引用: gsjzbj 发表于 2015-5-30 16:27 @freebsder:来而不往非礼也,费了这么大精力写了这么多,咱总得有点反应吧。 首先,有些地方你说对了,我的书就是从应用角度分析TI的例程,没有进行更深层次的分析,不是没那水平,只是没有更多的精力和时间,有些说法可能不专业,有点误人子弟了。 至于httprequest,是TI的例程中用了,我只是分析。TI例程中不止用了httprequest,还用了jQuery.ajax(),WebSocket和MQTT等,这些不算过时吧,相关分析将在提高篇中介绍。 看来你上学时是个勤奋好学的好学生,现在像你这样的好学生越来越少了,只是脾气好像稍微大了点。我的脾气以前也比较大,现在已经越来越没有脾气了。 刚刚拜读了你的新作:CC3200做节点的web服务,可能我基础太差,没完全看明白,暂不做评论。
不是不专业也,不是水平不水平,而是错误。不能因为你是老师就不会错,是这个理吧? 你这样章里最基本的错误是http本身,你可能当成通信来看,比如网页通讯,比如令牌,比如网页发出xxx令牌,这不是我编的吧,包括你翻译token为令牌,稍微有点httpserver常识的都知道这是什么东西,你样章里到处充斥这种说法,只能说明你其实根本就不知道http是什么,这一章也只是就代码论代码而已,就算你是老师,我只能很遗憾的说:没必要给自己狡辩,就这样章来说,叫一个懂点web的人来都会告诉你,大厦的基础是错的。 我不否认你可能的电子学深厚背景,但是http上,老师,您真错了。错就错呗,毛爷爷都错呢,何必非要给自己强辩呢?!呵呵 本帖最后由 freebsder 于 2015-5-30 18:20 编辑
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-30 16:32
我前言中说了:编者水平有限,书中难免会有错误和不妥之处,敬请广大读者批评指正。
老师也是人,当然有出错的时候。也是,现在确实有一些老师做了不少有损老师尊严的事情,以至于有些人连对老师最起码的尊重都没有了。真为老师感到悲哀。
点赞  2015-5-30 16:50
引用: gsjzbj 发表于 2015-5-30 16:50
我前言中说了:编者水平有限,书中难免会有错误和不妥之处,敬请广大读者批评指正。
老师也是人,当然有出错的时候。也是,现在确实有一些老师做了不少有损老师尊严的事情,以至于有些人连对老师最起码的尊重都没有了。真为老师感到悲哀。

我个人十分尊敬老师。如果一个老师对于自己的不足能充分认识,而不是摆出老师的姿态觉得自己不是错,非要被驳斥到体无完肤才卖萌卖乖,我叫你一声您,再叫您一声老师。
我个人对写书很谨慎,曾经几次机会我都不敢动,写书是良心活,错了就是误人子弟。
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-30 16:58
从应用的角度看,不管http server最核心的是什么,各个callback的调用时机是什么,各个struct的生命周期多长,整个过程也就4步:建立连接,发送请求,接收应答,断开连接。使用HTTP的目的是传送数据,只要保证数据正确传输,如何传输用户根本可以不管。就像软件编程人员只要调用API实现编程,有谁去关心底层硬件如何实现。
我个人也是非常认真的人,所有书稿都是我亲手完成。当然受知识面的限制,难免出现错误。如果大家都因为怕犯错误而不写书,因噎废食,学生拿什么来学习。如果都能看懂程序,还要老师做什么。从另一角度说,方法比内容更重要,老师应该注重的是方法的培养,例如程序的调试方法,内容会过时,方法通常不会过时。
点赞  2015-5-30 21:35
引用: gsjzbj 发表于 2015-5-30 21:35 从应用的角度看,不管http server最核心的是什么,各个callback的调用时机是什么,各个struct的生命周期多长,整个过程也就4步:建立连接,发送请求,接收应答,断开连接。使用HTTP的目的是传送数据,只要保证数据正确传输,如何传输用户根本可以不管。就像软件编程人员只要调用API实现编程,有谁去关心底层硬件如何实现。 我个人也是非常认真的人,所有书稿都是我亲手完成。当然受知识面的限制,难免出现错误。如果大家都因为怕犯错误而不写书,因噎废食,学生拿什么来学习。如果都能看懂程序,还要老师做什么。从另一角度说,方法比内容更重要,老师应该注重的是方法的培养,例如程序的调试方法,内容会过时,方法通常不会过时。
我不和你争了,最起码的错误都不肯承认东拉西扯半天不就怕自己的书差评嘛。你上面也说了“现在确实有一些老师做了不少有损老师尊严的事情,以至于有些人连对老师最起码的尊重都没有了。”尊严是自己给的,我希望不是你自己损自己的尊严。 ps: 乱教还有理,内容错了就是错了逃避责任,方法也是错的,http的核心就是流程,而不是你所谓的api方法。强调方法比内容重要,好吧,你是老师,你可以教你的学生1+1=5,你知道加法就行了,你管它加出来内容是几?如果是从普通人嘴里说出来我可以不说什么,而从一个老师嘴里说出来,我只能感叹我们中国的教育怎么了?教正确都不行,还期盼能教好?对话过程都在上面,样章也在论坛里,从现在这一刻我不改任何一个字,不删任何一句话,不回本文任何一个贴,孰是孰非看贴的人自己决定吧。 本帖最后由 freebsder 于 2015-5-30 22:21 编辑
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-5-30 22:08
我还真不在乎好评差评,问心无愧就行。
点赞  2015-5-30 22:20
引用: freebsder 发表于 2015-5-28 00:42
@chenyy 你说的很对,一个谦虚的人在别人指出你可能存在的不足的时候,不是第一时间问为什么这样说,不足在哪里,而是自以为自己为初学者考虑跑来“请问版主:还没学会走,能跑起来吗?”吗?

既然大家都能看,我就说我的理由 @gsjzbj:

1、httpserver的核心是引擎,文章里弄一堆“开始->初始化开发版->引脚复用配置->熄灭LED->...." 好吧,核心不说,告诉初学者httpserver开始熄灭LED创建SLS任务了!我还是那句话,只说样章给出的内容,仅仅是就代码论代码,作者自己可能都没搞清楚几个问题:http server最核心的是http解析过程,生命周期和状态切换(引发的回调),这芯片是怎么处理的?__SL_P_等东西什么时候处理的?怎么处理的?各个callback的调用时机是怎么样的,这些状态可以怎么使用,各个struct的生命周期等等。

2、>>>"浏览 CC3200 的默认主页 mysimplelink.net,并用网页与 CC3200 通信", “网页接收到5个接入点名称后,将它们显示在网页中供用户选择”等等吧不一一列举.
基本常识错了知道吗?知道html渲染吗?谁渲染的?网页吗?知道的话会写网页接受数据,用网页通讯?你模糊的地方可以不写,但乱写,就是你乱教。

3、>>>"设备接收到 HTTP 请求发送的数据后,产生 SL_NETAPP_HTTPPOSTTOKENVALUE_
EVENT 事件,并调用 SimpleLinkHttpServerCallback()进行处理"
>>>设备接收到 GET 令牌后产生 SL_NETAPP_HTTPGETTOKENVALUE_ EVENT(HTTP GET 令牌数据事件)
知道服务端变量吗?token在这里不是通讯里令牌的意思,自然就不是设备接受令牌的意思,http的基础是文本解析,token在这里是指文本解析中的字面量literal,用来做dynamic html的,好吧,产生这个事件是因为http引擎根据固定模式(__SL_P这种,因为CC3200毕竟是嵌入式系统,模式固定简化服务的处理,这也是为什么手册里有专门一小结来告诉你这种变量该怎么定义)识别出这是一个服务端变量,而这个服务端变量又不是系统定义的内部变量,它自己无法告诉你你要的数据,需要人工参与,所以整了HTTPGETTOKENVALUE来让你添数据,这也是我前面说的http引擎为什么需要说,哪怕简单的说的原因。你模糊的地方可以不写,但乱写,就是你乱教。

4、>>>当在手机或笔记本电脑上打开网页 profiles_config.html 时,网页依次发出用户 GET 令牌“__SL_G_US1~5”。
这是最基本的常识错误。浏览器首先用http协议请求profiles_config.html这个资源,服务端(也就是cc3200里面的http server)在rom或flash里找到这个资源。然后服务器做文本解析,类似C编译器的第一个步骤,一个token一个token的解析,寻找上面说的固定格式,比如__SL_G_US1~5,对所有找到的服务端变量(固定格式)进行变量替换(当然不是简单的变量替换,这里借用这个词形象化),系统定义的当然系统就处理了,用户定义的如__SL_G_US1~5,当然它找不到它的value值,这时候用HTTPGETTOKENVALUE来让你添数据,这也是为什么系统定义的服务端变量不会触发HTTPGETTOKENVALUE这个回调的原因,填好之后在资源中__SL_G_US1~5占位符这里做文本替换,替换成你给的值,最后打包成一个html静态内容(也可能是字符流形式)再按字符填充到response body返回浏览器。为什么要把数据转成文本添也是这个原因:html的基础是文本。
好了,那么是“网页依次发出用户 GET 令牌 “__SL_G_US1~5”“呢?还是服务器填充__SL_G_US1~5作为html响应返回给浏览器呢?你模糊的地方可以不写,但乱写,就是你乱教。

5、httprequest 10年前这是清晰的牛逼的,10后的今天这就是乱七八糟的,你可以不会也可以不写,但不要引导初学者一个过时的东西,应用技术过时了能干嘛?真是为初学者考虑?

6、以上http解析的框架过程很复杂吗?以上描述也就1,200个字吧,有谁看不懂的?所以别用初学者做借口,也不要把读者定位成看不懂的傻瓜。

7、@chenyy  管理员,我不谦虚,这篇干货回复没有异议的话是否应该加分呢? 多加点啊,加满

我对网页这一块不了解,就是看你说的这个,意识是不是网页发送一个请求HTTP GET 什么的,然后服务器端从里面解析文本,获取到类似_SL_G之类的字符串,与之相匹配,换成传感器的值再打包发送给浏览器显示?我不知道我说的对不对。。毕竟不聪明理解能力差
点赞  2015-6-10 02:52
引用: freebsder 发表于 2015-5-28 00:42
@chenyy 你说的很对,一个谦虚的人在别人指出你可能存在的不足的时候,不是第一时间问为什么这样说,不足在哪里,而是自以为自己为初学者考虑跑来“请问版主:还没学会走,能跑起来吗?”吗?

既然大家都能看,我就说我的理由 @gsjzbj:

1、httpserver的核心是引擎,文章里弄一堆“开始->初始化开发版->引脚复用配置->熄灭LED->...." 好吧,核心不说,告诉初学者httpserver开始熄灭LED创建SLS任务了!我还是那句话,只说样章给出的内容,仅仅是就代码论代码,作者自己可能都没搞清楚几个问题:http server最核心的是http解析过程,生命周期和状态切换(引发的回调),这芯片是怎么处理的?__SL_P_等东西什么时候处理的?怎么处理的?各个callback的调用时机是怎么样的,这些状态可以怎么使用,各个struct的生命周期等等。

2、>>>"浏览 CC3200 的默认主页 mysimplelink.net,并用网页与 CC3200 通信", “网页接收到5个接入点名称后,将它们显示在网页中供用户选择”等等吧不一一列举.
基本常识错了知道吗?知道html渲染吗?谁渲染的?网页吗?知道的话会写网页接受数据,用网页通讯?你模糊的地方可以不写,但乱写,就是你乱教。

3、>>>"设备接收到 HTTP 请求发送的数据后,产生 SL_NETAPP_HTTPPOSTTOKENVALUE_
EVENT 事件,并调用 SimpleLinkHttpServerCallback()进行处理"
>>>设备接收到 GET 令牌后产生 SL_NETAPP_HTTPGETTOKENVALUE_ EVENT(HTTP GET 令牌数据事件)
知道服务端变量吗?token在这里不是通讯里令牌的意思,自然就不是设备接受令牌的意思,http的基础是文本解析,token在这里是指文本解析中的字面量literal,用来做dynamic html的,好吧,产生这个事件是因为http引擎根据固定模式(__SL_P这种,因为CC3200毕竟是嵌入式系统,模式固定简化服务的处理,这也是为什么手册里有专门一小结来告诉你这种变量该怎么定义)识别出这是一个服务端变量,而这个服务端变量又不是系统定义的内部变量,它自己无法告诉你你要的数据,需要人工参与,所以整了HTTPGETTOKENVALUE来让你添数据,这也是我前面说的http引擎为什么需要说,哪怕简单的说的原因。你模糊的地方可以不写,但乱写,就是你乱教。

4、>>>当在手机或笔记本电脑上打开网页 profiles_config.html 时,网页依次发出用户 GET 令牌“__SL_G_US1~5”。
这是最基本的常识错误。浏览器首先用http协议请求profiles_config.html这个资源,服务端(也就是cc3200里面的http server)在rom或flash里找到这个资源。然后服务器做文本解析,类似C编译器的第一个步骤,一个token一个token的解析,寻找上面说的固定格式,比如__SL_G_US1~5,对所有找到的服务端变量(固定格式)进行变量替换(当然不是简单的变量替换,这里借用这个词形象化),系统定义的当然系统就处理了,用户定义的如__SL_G_US1~5,当然它找不到它的value值,这时候用HTTPGETTOKENVALUE来让你添数据,这也是为什么系统定义的服务端变量不会触发HTTPGETTOKENVALUE这个回调的原因,填好之后在资源中__SL_G_US1~5占位符这里做文本替换,替换成你给的值,最后打包成一个html静态内容(也可能是字符流形式)再按字符填充到response body返回浏览器。为什么要把数据转成文本添也是这个原因:html的基础是文本。
好了,那么是“网页依次发出用户 GET 令牌 “__SL_G_US1~5”“呢?还是服务器填充__SL_G_US1~5作为html响应返回给浏览器呢?你模糊的地方可以不写,但乱写,就是你乱教。

5、httprequest 10年前这是清晰的牛逼的,10后的今天这就是乱七八糟的,你可以不会也可以不写,但不要引导初学者一个过时的东西,应用技术过时了能干嘛?真是为初学者考虑?

6、以上http解析的框架过程很复杂吗?以上描述也就1,200个字吧,有谁看不懂的?所以别用初学者做借口,也不要把读者定位成看不懂的傻瓜。

7、@chenyy  管理员,我不谦虚,这篇干货回复没有异议的话是否应该加分呢? 多加点啊,加满

仔细看了一遍,懂了,谢谢指导。
点赞  2015-6-10 02:57
引用: 9712130447 发表于 2015-6-10 02:57
仔细看了一遍,懂了,谢谢指导。

不客气,有什么经验和想法多来社区讨论。
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-6-10 12:36
请问一下,你在HTML中是怎样添加代码的呀? 我也正在做HTTP,也是想添加一个显示温度的功能,我在HTML文件中添加了一些代码,结果接收不到温度。在HTML中我设定每秒钟发送一个请求,然后读温度值并显示,可是不行啊,代码是我在HTTP Server中的led_demo中直接添加的 这是我添加的代码 ,经过调试后,我发现,条件"HTTPrequest.readyState==4 && HTTPrequest.status==200"是永远不满足的,不知道为什么。 发送__SL_G_UTP应该没有错吧,发送请求后MCU解析这个Token,然后把温度值传到上面来,如果没有产生异常或者错误,那么条件HTTPrequest.readyState==4 && HTTPrequest.status==200 应该是满足的。这个代码是我以前做CC3000时候用的,没有什么问题,移植到CC3200上面来以后就不好用了。 function periodicUpdate(){ var paramTEMP = "__SL_G_UTP" ; //testcount = testcount +1 ; HTTPrequest.open("POST","__SL_G_UTP", true); document.getElementById('txt').value=20 ; HTTPrequest.onreadystatechange = function() { if (HTTPrequest.readyState==4 && HTTPrequest.status==200) { var temperature = HTTPrequest.responseText; document.getElementById("TempValue").innerHTML = temperature; document.getElementById('txt').value=100 ; } } HTTPrequest.send(); setTimeout("periodicUpdate()", 1000); } 本帖最后由 shaguarhan 于 2015-7-22 05:29 编辑
点赞  2015-7-22 05:23
__SL_P_UTP 吧?记得G是说get,P是说post
默认摸鱼,再摸鱼。2022、9、28
点赞  2015-7-22 12:25
引用: freebsder 发表于 2015-7-22 12:25
__SL_P_UTP 吧?记得G是说get,P是说post

如果改成get的话,像这样 :

var paramTEMP = "__SL_G_UTP" ;

        //testcount = testcount +1 ;

       
        HTTPrequest.open("GET","__SL_G_UTP", true);
       

        document.getElementById('txt').value=20 ;
       
        HTTPrequest.onreadystatechange = function()
        {
                if (HTTPrequest.readyState==4 && HTTPrequest.status==200)
                {

                        var temperature = HTTPrequest.responseText;
                       
                        document.getElementById("TempValue").innerHTML = temperature;

                       
                        document.getElementById('txt').value=100 ;

                }
        }

        HTTPrequest.send();
               
       
        setTimeout("periodicUpdate()", 1000);

我刚试了一下这个代码,结果不仅温度显示不出来,连灯都不亮了。。。。。。
点赞  2015-7-22 15:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复