官方网站下载打印机驱动程序/百度搜索如何去广告

官方网站下载打印机驱动程序,百度搜索如何去广告,做网站背景图片要多大,教育培训机构设计图引言 libcoap 是一个开源的轻量级 C 语言库,用于实现 CoAP(Constrained Application Protocol,受限应用协议)。CoAP 是一种专为资源受限设备设计的轻量级通信协议,适用于物联网(IoT)和嵌入式系…

引言

libcoap 是一个开源的轻量级 C 语言库,用于实现 CoAP(Constrained Application Protocol,受限应用协议)。CoAP 是一种专为资源受限设备设计的轻量级通信协议,适用于物联网(IoT)和嵌入式系统。今天介绍一下如何在Linux下进行编译。

libcoap主要功能和特点

  1. 协议实现libcoap 完整实现了 CoAP 协议的 RFC 7252 标准。

  2. 客户端和服务器支持:提供了 CoAP 客户端和服务器功能,可用于开发基于 CoAP 的应用程序。

  3. 跨平台支持:支持多种操作系统,包括 Linux、Windows、iOS 和 Android。

  4. 安全特性:支持 DTLS(Datagram Transport Layer Security)等安全机制。

  5. RESTful 风格:支持 RESTful 架构,提供 GET、POST、PUT 和 DELETE 等基本方法。

  6. 低资源消耗:专为资源受限的设备设计,优化了数据报长度和通信效率。

编译

官方和网上很多教程都是基于configure系统进行编译的,比较麻烦。今天介绍一下如何用CMake进行编译。

首先使用Git获得源码:

git clone https://github.com/obgm/libcoap.git

如果想使用SSL功能,需要先安装OpenSSL,我们此次只是在本地测试,就禁用了SSL相关功能,在命令行加上-DENABLE_DTLS=OFF。

armdev@armdev-VirtualBox:~/coap/libcoap-4.3.5$ cmake . -DENABLE_DTLS=OFF
-- The CXX compiler identification is GNU 7.5.0
-- The C compiler identification is GNU 7.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for assert.h
-- Looking for assert.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for byteswap.h
-- Looking for byteswap.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for sys/sysctl.h
-- Looking for sys/sysctl.h - found
-- Looking for net/if.h
-- Looking for net/if.h - found
-- Looking for ifaddrs.h
-- Looking for ifaddrs.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for sys/epoll.h
-- Looking for sys/epoll.h - found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Looking for netdb.h
-- Looking for netdb.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for sys/unistd.h
-- Looking for sys/unistd.h - found
-- Looking for time.h
-- Looking for time.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for float.h
-- Looking for float.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for ws2tcpip.h
-- Looking for ws2tcpip.h - not found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for memset
-- Looking for memset - found
-- Looking for select
-- Looking for select - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for pthread_mutex_lock
-- Looking for pthread_mutex_lock - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for strnlen
-- Looking for strnlen - found
-- Looking for strrchr
-- Looking for strrchr - found
-- Looking for getrandom
-- Looking for getrandom - found
-- Looking for random
-- Looking for random - found
-- Looking for if_nametoindex
-- Looking for if_nametoindex - found
-- Looking for CMSG_FIRSTHDR
-- Looking for CMSG_FIRSTHDR - found
-- compiling with client support
-- compiling with server support
-- compiling with proxy support
-- compiling with OSCORE support
-- compiling with WebSockets support
-- compiling with async separate response support
-- compiling with IPv4 support
-- compiling with IPv6 support
-- compiling with Unix socket support
-- compiling with Q-Block (RFC9177) support
-- compiling with observe persistence support
-- compiling with epoll support
-- compiling with thread safe support
-- compiling with max logging level set to 8
-- 
-- libcoap Configuration Summary:
-- 
-- PACKAGE VERSION..................4.3.5
-- PACKAGE SOURCE...................4.3.5
-- LIBRARY API VERSION..............3
-- LIBRARY ABI VERSION..............3.2.0
-- ENABLE_DTLS:.....................OFF
-- ENABLE_TCP:......................ON
-- ENABLE_IPV4:.....................ON
-- ENABLE_IPV6:.....................ON
-- ENABLE_AF_UNIX:..................ON
-- ENABLE_WEBSOCKETS:...............ON
-- ENABLE_Q_BLOCK:..................ON
-- ENABLE_CLIENT_MODE:..............ON
-- ENABLE_SERVER_MODE:..............ON
-- ENABLE_OSCORE:...................ON
-- ENABLE_ASYNC:....................ON
-- ENABLE_THREAD_SAFE:..............ON
-- ENABLE_THREAD_RECURSIVE_CHECK....OFF
-- ENABLE_DOCS:.....................ON
-- ENABLE_EXAMPLES:.................ON
-- DTLS_BACKEND:....................default
-- WITH_GNUTLS:.....................OFF
-- WITH_TINYDTLS:...................OFF
-- WITH_OPENSSL:....................OFF
-- WITH_WOLFSSL:....................OFF
-- WITH_MBEDTLS:....................OFF
-- HAVE_LIBTINYDTLS:................
-- HAVE_LIBGNUTLS:..................
-- HAVE_LIBOPENSSL:.................
-- HAVE_LIBWOLFSSL:.................
-- HAVE_LIBMBEDTLS:.................
-- WITH_EPOLL:......................ON
-- WITH_OBSERVE_PERSIST:............ON
-- BUILD_SHARED_LIBS:...............OFF
-- MAX_LOGGING_LEVEL:...............8
-- WARNING_TO_ERROR:................OFF
-- CMAKE_C_COMPILER:................/usr/bin/cc
-- CMAKE_CXX_COMPILER_ID:...........GNU
-- CMAKE_BUILD_TYPE:................Debug
-- CMAKE_SYSTEM_PROCESSOR:..........x86_64
-- CMAKE_HOST_SYSTEM_NAME:..........Linux
-- CMAKE_GENERATOR:.................Unix Makefiles
-- 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
CMake Warning at CMakeLists.txt:945 (message):Doxygen need to be installed to generate the doxygen documentation-- Configuring done
-- Generating done
-- Build files have been written to: /home/armdev/coap/libcoap-4.3.5

 这里提示因为没有Doxygen而报错,可以忽略。

然后使用make命令进行编译。

armdev@armdev-VirtualBox:~/coap/libcoap-4.3.5$ make
Consolidate compiler generated dependencies of target coap-3
[  2%] Building C object CMakeFiles/coap-3.dir/src/coap_address.c.o
[  4%] Building C object CMakeFiles/coap-3.dir/src/coap_asn1.c.o
[  6%] Building C object CMakeFiles/coap-3.dir/src/coap_async.c.o
[  8%] Building C object CMakeFiles/coap-3.dir/src/coap_block.c.o
[ 10%] Building C object CMakeFiles/coap-3.dir/src/coap_cache.c.o
[ 12%] Building C object CMakeFiles/coap-3.dir/src/coap_debug.c.o
[ 14%] Building C object CMakeFiles/coap-3.dir/src/coap_dtls.c.o
[ 16%] Building C object CMakeFiles/coap-3.dir/src/coap_encode.c.o
[ 18%] Building C object CMakeFiles/coap-3.dir/src/coap_event.c.o
[ 20%] Building C object CMakeFiles/coap-3.dir/src/coap_hashkey.c.o
[ 22%] Building C object CMakeFiles/coap-3.dir/src/coap_io.c.o
[ 24%] Building C object CMakeFiles/coap-3.dir/src/coap_layers.c.o
[ 26%] Building C object CMakeFiles/coap-3.dir/src/coap_mem.c.o
[ 28%] Building C object CMakeFiles/coap-3.dir/src/coap_net.c.o
[ 30%] Building C object CMakeFiles/coap-3.dir/src/coap_netif.c.o
[ 32%] Building C object CMakeFiles/coap-3.dir/src/coap_notls.c.o
[ 34%] Building C object CMakeFiles/coap-3.dir/src/coap_option.c.o
[ 36%] Building C object CMakeFiles/coap-3.dir/src/coap_oscore.c.o
[ 38%] Building C object CMakeFiles/coap-3.dir/src/coap_pdu.c.o
[ 40%] Building C object CMakeFiles/coap-3.dir/src/coap_prng.c.o
[ 42%] Building C object CMakeFiles/coap-3.dir/src/coap_proxy.c.o
[ 44%] Building C object CMakeFiles/coap-3.dir/src/coap_resource.c.o
[ 46%] Building C object CMakeFiles/coap-3.dir/src/coap_session.c.o
[ 48%] Building C object CMakeFiles/coap-3.dir/src/coap_sha1.c.o
[ 51%] Building C object CMakeFiles/coap-3.dir/src/coap_str.c.o
[ 53%] Building C object CMakeFiles/coap-3.dir/src/coap_subscribe.c.o
[ 55%] Building C object CMakeFiles/coap-3.dir/src/coap_tcp.c.o
[ 57%] Building C object CMakeFiles/coap-3.dir/src/coap_threadsafe.c.o
[ 59%] Building C object CMakeFiles/coap-3.dir/src/coap_time.c.o
[ 61%] Building C object CMakeFiles/coap-3.dir/src/coap_uri.c.o
[ 63%] Building C object CMakeFiles/coap-3.dir/src/coap_ws.c.o
[ 65%] Building C object CMakeFiles/coap-3.dir/src/oscore/oscore.c.o
[ 67%] Building C object CMakeFiles/coap-3.dir/src/oscore/oscore_cbor.c.o
[ 69%] Building C object CMakeFiles/coap-3.dir/src/oscore/oscore_context.c.o
[ 71%] Building C object CMakeFiles/coap-3.dir/src/oscore/oscore_cose.c.o
[ 73%] Building C object CMakeFiles/coap-3.dir/src/oscore/oscore_crypto.c.o
[ 75%] Linking C static library libcoap-3.a
[ 75%] Built target coap-3
[ 77%] Building C object CMakeFiles/coap-rd.dir/examples/coap-rd.c.o
[ 79%] Linking C executable coap-rd
[ 79%] Built target coap-rd
[ 81%] Building C object CMakeFiles/coap-client.dir/examples/coap-client.c.o
[ 83%] Linking C executable coap-client
[ 83%] Built target coap-client
[ 85%] Building C object CMakeFiles/etsi_iot_01.dir/examples/etsi_iot_01.c.o
[ 87%] Linking C executable etsi_iot_01
[ 87%] Built target etsi_iot_01
[ 89%] Building C object CMakeFiles/oscore-interop-server.dir/examples/oscore-interop-server.c.o
[ 91%] Linking C executable oscore-interop-server
[ 91%] Built target oscore-interop-server
[ 93%] Building C object CMakeFiles/tiny.dir/examples/tiny.c.o
[ 95%] Linking C executable tiny
[ 95%] Built target tiny
[ 97%] Building C object CMakeFiles/coap-server.dir/examples/coap-server.c.o
[100%] Linking C executable coap-server
[100%] Built target coap-server

编译成功后,在当前目录可以看到libcoap-3.a文件和两个例子的可执行文件。 

直接运行一下coap-client说明编译正确。

运行测试程序

首先运行./coap-server启动服务端。

然后运行客户端程序访问服务端:

armdev@armdev-VirtualBox:~/coap/libcoap-4.3.5$ ./coap-client -m get coap://localhost/
This is a test server made with libcoap (see https://libcoap.net)
Copyright (C) 2010--2024 Olaf Bergmann <bergmann@tzi.org> and others

结语

 至此完成了libcoap在本机的编译,后续就可以开发自己的程序了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode知名主题带毒 安装量900万次

目前微软已经从 Visual Studio Marketplace 中删除非常流行的主题扩展 Material Theme Free 和 Material Theme Icons&#xff0c;微软称这些主题扩展包含恶意代码。 统计显示这些扩展程序的安装总次数近 900 万次&#xff0c;在微软实施删除后现在已安装这些扩展的开发者也会…

如何快速的解除oracle dataguard

有些时候&#xff0c;我们为了使oracle dg的standby库另做他用&#xff0c;需要解除oracle dataguard数据同步。我本地因为standby库存储出现故障&#xff0c;导致dg存在问题&#xff0c;故需要解除。今天&#xff0c;我们通过使用部分命令&#xff0c;实现dg的快速解除。 1&a…

Windows系统编程(七)HotFixHook

InoolineHook需要读写两次内存&#xff08;先HOOK&#xff0c;再还原&#xff09;&#xff0c;这种Hook方式&#xff0c;性能比较低&#xff0c;具有局限性。今天所讲的HotFixHOOK&#xff08;热补丁&#xff09;是InlineHook的升级版 Win32 API特殊性 Win32API的实现代码有这…

TCP通讯与基于C#TCP通讯,跨窗收发消息Demo

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。它广泛应用于互联网中的数据通信&#xff0c;如网页浏览、文件传输、电子邮件等。以下是TCP通信的基本概念和工作原理&#xff1a; 1. TCP的特点 面向连接&#xff1a;通信前…

【有源码】仿DeepSeek问答网站+SpringBoot+VUE3+对接DeepSeek API

今天带来一款优秀的项目&#xff1a;仿DeepSeek问答网站。 功能和官网差不多&#xff0c;也有历史上下文&#xff0c;流失对话等。 本文介绍了系统功能与部署安装步骤&#xff0c;如果您有任何问题&#xff0c;也请联系学姐&#xff0c;偶现在是经验丰富的程序员&#xff01; …

Ubuntu20.04双系统安装及软件安装(七):Anaconda3

Ubuntu20.04双系统安装及软件安装&#xff08;七&#xff09;&#xff1a;Anaconda3 打开Anaconda官网&#xff0c;在右侧处填写邮箱&#xff08;要真实有效&#xff01;&#xff09;&#xff0c;然后Submit。会出现如图示的Success界面。 进入填写的邮箱&#xff0c;有一封Ana…

洛谷 P2142 高精度减法(详解)c++

题目链接&#xff1a;P2142 高精度减法 - 洛谷 1.题目 2.算法原理 解法:模拟列竖式计算的过程 先用字符串读入&#xff0c;然后拆分每一位&#xff0c;逆序放进数组中利用数组&#xff0c;模拟列竖式减法的过程 在这两步之前要多加一步&#xff0c;在模拟解法的过程&#…

微服务组件详解——sentinel

1.启动sentinel&#xff1a; 下载jar sentinel-dashboard-1.8.0.jar 使用以下命令直接运行 jar 包&#xff08;JDK 版本必须≥ 1.8&#xff09;&#xff1a; java -Dserver.port9999 -jar D:\sentinel-dashboard-1.8.0.jar 控制台访问地址&#xff1a;http://localhost:9999…

AI数据分析:deepseek生成SQL

在当今数据驱动的时代&#xff0c;数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展&#xff0c;AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行自动补全SQL 查询语句。 我们都知道&#xff0c;SQL 查询语…

动态规划01背包问题系列一>目标和

目录 题目分析及优化&#xff1a;状态表示&#xff1a;状态转移方程&#xff1a;初始化&#xff1a;填表顺序&#xff1a;返回值&#xff1a;代码呈现&#xff1a;优化&#xff1a;代码呈现&#xff1a; 题目分析及优化&#xff1a; 状态表示&#xff1a; 状态转移方程&#xf…

Linux 基础---sudo权限 修改文件所属人、用户所属组

sudo 概念&#xff1a;让普通用户使用管理员权限执行一些操作&#xff08;root&#xff09; 在命令前加上sudo 即可 修改文件所属人、所属组

HMC7043和HMC7044芯片配置使用

一,HMC7043芯片 MC7043独特的特性是对14个通道分别进行独立灵活的相位管理。所有14个通道均支持频率和相位调整。这些输出还可针对50 Ω或100 Ω内部和外部端接选项进行编程。HMC7043器件具有RF SYNC功能,支持确定性同步多个HMC7043器件,即确保所有时钟输出从同一时钟沿开始…

【动手实验】TCP半连接队列、全连接队列实战分析

本文是对 从一次线上问题说起&#xff0c;详解 TCP 半连接队列、全连接队列 这篇文章的实验复现和总结&#xff0c;借此加深对 TCP 半连接队列、全连接队列的理解。 实验环境 两台腾讯云服务器 node2&#xff08;172.19.0.12&#xff09; 和 node3&#xff08;172.19.0.15&am…

大模型训练微调技术介绍

大模型训练微调技术是人工智能领域中的一项重要技术&#xff0c;旨在通过少量特定领域的数据对预训练模型进行进一步训练&#xff0c;使其更好地适应具体任务或应用场景。以下是关于大模型训练微调技术的详细介绍&#xff1a; 1. 微调技术的定义与意义 微调&#xff08;Fine-…

javaweb自用笔记:Vue

Vue 什么是vue vue案例 1、引入vue.js文件 2、定义vue对象 3、定义vue接管的区域el 4、定义数据模型data 5、定义视图div 6、通过标签v-model来绑定数据模型 7、{{message}}直接将数据模型message展示出来 8、由于vue的双向数据绑定&#xff0c;当视图层标签input里的…

基于eRDMA实测DeepSeek开源的3FS

DeepSeek昨天开源了3FS分布式文件系统, 通过180个存储节点提供了 6.6TiB/s的存储性能, 全面支持大模型的训练和推理的KVCache转存以及向量数据库等能力, 每个客户端节点支持40GB/s峰值吞吐用于KVCache查找. 发布后, 我们在阿里云ECS上进行了快速的复现, 并进行了性能测试, ECS…

计算机毕业设计SpringBoot+Vue.js医院挂号就诊系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Linux的用户与权限--第二天

认知root用户&#xff08;超级管理员&#xff09; root用户用于最大的系统操作权限 普通用户的权限&#xff0c;一般在HOME目录内部不受限制 su与exit命令 su命令&#xff1a; su [-] 用户名 -符号是可选的&#xff0c;表示切换用户后加载环境变量 参数为用户名&#xff0c…

计算机网络软考

1.物理层 1.两个主机之间发送数据的过程 自上而下的封装数据&#xff0c;自下而上的解封装数据&#xff0c;实现数据的传输 2.数据、信号、码元 码元就是数字通信里用来表示信息的基本信号单元。比如在二进制中&#xff0c;用高电平代表 “1”、低电平代表 “0”&#xff0c…

第四十一:Axios 模型的 get ,post请求

Axios 的 get 请求方式 9.双向数据绑定 v-model - 邓瑞编程 Axios 的 post 请求方式&#xff1a;