日期: 2022-09-20 15:53:57 浏览数:3

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
陇南微信公众号开发【陇南网络推广】陇南建站、陇南网站维护、陇南网页制作、陇南微信小程序代运营公司

陇南,是甘肃省辖地级市,甘肃省人民政府批复确定的陇南市的行政、文化中心,省域南部重要的交通枢纽和商贸物流中心,具有鲜明地域文化特色的陇蜀之城、橄榄之城。截至2019年末,全市辖1个区、8个县,总面积2.78万平方公里,常住人口264.31万,城镇人口92.03万。 [1-2]
陇南地处中国西部地区,甘肃省东南部,秦巴山区、黄土高原、青藏高原的交汇区域,东接陕西,南通四川,扼陕甘川三省要冲,素称“秦陇锁钥,巴蜀咽喉”。又因地貌俊秀,气候宜人,素有“陇上江南”之称。境内有2个国家级自然保护区(白水江国家级自然保护区、甘肃裕河国家级自然保护区)、1个省级自然保护区(文县尖山大熊猫自然保护区)、3个国家森林公园(文县天池、宕昌官鹅沟、成县鸡峰山)、2个国家湿地公园(文县黄林沟国家湿地公园、康县梅园河国家湿地公园)。陇南还是中国主要的中药材、油橄榄产地之一,享有“千年药乡”“天然药库”“中国油橄榄之乡”的美称。 [1] [3-10]
陇南距今7000多年前即有人类活动,是秦人的发祥地、中国古代西部民族氐人和羌人活动的核心地区,文县白马人被誉为“东亚最古老的部族”。在漫长的历史过程中,陇南既是各种政治军事力量激烈争夺的战场,又是中原中央政权与西北少数民族接触交往的前哨阵地,攻伐消长与民族交往,构成陇南社会历史的重要内容。
const coap = require('coap')
,requestURI = 'coap://localhost/'
,url = require('url').parse(requestURI + 'id/1/')
,req = coap.request(url)
,bl = require('bl');
req.setHeader("Accept", "application/json");
req.on('response', function(res) {
res.pipe(bl(function(err, data) { var json = JSON.parse(data); console.log(json);
}));
});
req.end();const定义数据的方法,和我们在其他语言中有点像。只是这的const主要是为了程序的健壮型,减少程序出错,当然这不是javascript的用法。
我们构建了一个请求的URL
coap://localhost/id/1/
我们对我们的请求添加了一个Header,内容是Accept,值是'application/json'也就是JSON格式。接着,便是等待请求回来,再处理返回的内容。
判断请求的方法
在这里先把一些无关的代码删除掉,并保证其能工作,so,下面就是简要的逻辑代码。
var coap = require('coap');var server = coap.createServer({});var request_handler = require('./request_handler.js');
server.on('request', function(req, res) { switch(req.method){ case "GET": request_handler.getHandler(req, res); break;
}
});
server.listen(function() { console.log('server started');
});创建一个CoAP服务,判断req.method,也就是请求的方法,如果是GET的话,就调用request_handler.getHandler(req, res)。而在getHandler里,判断了下请求的Accept
request_helper.getHandler = function(req, res) { switch (req.headers['Accept']) { case "application/json":
qh.returnJSON(req, res); break; case "application/xml":
qh.returnXML(req, res); break;
}
};如果是json刚调用returnJSON,
Database与回调
而这里为了处理回调函数刚分为了两部分
query_helper.returnJSON = function(req, res) {
DBHelper.urlQueryData(req.url, function (result) {
QueryData.returnJSON(result, res);
});
};而这里只是调用了
DBHelper.urlQueryData = function (url, callback) { var db = new sqlite3.Database(config["db_name"]); console.log("SELECT * FROM basic where " + url.split('/')[1] + "=" + url.split('/')[2]);
db.all("SELECT * FROM basic where " + url.split('/')[1] + "=" + url.split('/')[2], function(err, rows) {
db.close();
callback(JSON.stringify(rows));
});
};这里调用了node sqlite3去查询对应id的数据,用回调处理了数据无法到外部的问题,而上面的returnJSON则只是返回最后的结果,code以及其他的内容。
QueryData.returnJSON = function(result, res) { if (result.length == 2) {
res.code = '4.04';
res.end(JSON.stringify({ error: "Not Found"
}));
} else {
res.code = '2.05';
res.end(result);
}
};当resulst的结果为空时,返回一个404,因为没有数据。这样我们就构成了整个的链,再一步步返回结果。
在IoT-CoAP中我们使用到了一个Block2的东西,于是便整理相关的一些资料,作一个简单的介绍,以及在代码中的使用。
陇南微信公众号开发【陇南网络推广】陇南建站、陇南网站维护、陇南网页制作、陇南微信小程序代运营公司
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)