Server端CoAP协议实现
2018-01-07 13:53
323 查看
1、Bad socket type specified. Valid types are: udp4, udp6
在服务器上运行简单的nodejs写的coap代码报上述错误,代码很简单,只有几行,找了很久原因,才发现又是一个版本问题,最新的node-coap跑不起来(具体原因还在研究中),因此只能安装以前版本的coap, 亲测v 0.7.2是可以实现的。具体方法:新建一个package.json文件,添加如下代码:{ "dependencies":{ "coap": "0.7.2" } }
执行
sudo npm install
再执行命令运行脚本即可:
node app.js
app.js是服务器端的coap代码,实现将侦听到的URI参数返回的效果。代码如下:
const coap = require('coap') , server = coap.createServer() server.on('request', function(req, res) { res.end('Hello ' + req.url.split('/')[1] + '\n') }) server.listen(function() { console.log('server started') })
可以借助火狐浏览器的Copper插件来实现浏览器coap协议访问(需要注意的是最新版firefox不再兼容这一插件,v 55版本是可以用的,火狐默认自动更新,所以打开v55版本后,立即关闭自动更新,如果已经加入进程,则Ctrl+Shift+Delete清除缓存再重启浏览器)
当然,也可以在运行client.js来实现coap协议通信,代码如下:
const coap = require('coap') , req = coap.request('coap://localhost/World') req.on('response', function(res) { res.pipe(process.stdout) }) req.end()
终端显示:Hello World代表通信成功。更多内容,参考:https://segmentfault.com/a/1190000002511350
2、服务器发布实现coap协议的NodeJS应用
借助pm2来实现,非常简单,先安装pm2:npm install pm2 -g
在相应的应用程序文件夹下,执行:
npm install pm2 stop myapp -f pm2 start app.js -n myapp
当然,我的代码很简单,仅作测试使用,实际的项目开发中,还是要按照规范的开发流程来,在本地开发,push到github上,然后服务器端git clone再部署,为了降低每次部署的复杂度,还可以写一个用于部署服务的脚本,每次修改代码后直接执行即可。具体参考这篇文章:http://cnodejs.org/topic/53fec0d97c1e2284788983d6
相关文章推荐
- CoAP协议的常用开源代码实现
- C51应用 Modbs Rtu协议实现与KEPServerEx 通信
- python实现的udp协议Server和Client代码实例
- 实践,用tornado实现自定义协议server
- CoAP协议及开源实现
- 网络编程----socketserver多并发实现、FTP上传多并发、udp协议套接字多并发
- CoAP协议的常用开源代码实现
- CoAP协议及开源实现
- go语言Socket Server 自定义协议的简单实现
- WebLogic Server 10 SSL配置,实现安全传输协议(详解)
- 无线物联网中CoAP协议的研究与实现【转】
- CoAP学习笔记——STM32平台上实现CoAP Server
- CoAP协议及开源实现
- Coap协议介绍,及其开源实现Californium实战
- ONVIF协议实现1:Server端Discovery的实现详解
- python实现的udp协议Server和Client代码实例
- Golang Socket Server自定义协议的简单实现
- CoAP协议及开源实现
- CoAP协议及开源实现
- python 实现新版websocket协议 server